我正在尝试使用Vue.js作为前端,并将Django作为SPA的后端。
在前端,我正在利用Auth0进行用户身份验证,并且我希望将从用户注册/创建中获得的id_token从Auth0发送到后端,以实时创建特定的用户配置文件。
当他们在前端的vue.js上使用Auth0注册时,如何为每个用户在我的django后端创建用户配置文件?
以前,我使用以下代码在创建用户后启用配置文件创建:
# Whenever a User account is created, it creates a profile for it too.
def create_profile(sender, **kwargs):
user = kwargs["instance"]
if kwargs["created"]:
user_profile = UserProfile(user=user)
user_profile.save()
post_save.connect(create_profile, sender=User)
def __str__(self):
return self.user.username
简单来说,这就是我想要实现的目标:
- 用户在网站上注册
- 通过利用Auth0来创建帐户
- 获取Auth0中的user_id并从前端(Vue.js)发送到后端(Django)
- Django在其后端postgresql数据库中为注册用户创建用户配置文件
- 登录后,用户现在可以访问他的个人资料页面http://website/profile。(个人资料的数据来自Django)
我对Vue.js和Javascript相当新。虽然使用Vue.js是一件轻而易举的事,但我似乎无法弄清楚如何使用Auth0在Vue.js中复制类似的功能。
赞赏任何正确方向的帮助/指导/指示。
感谢。
答案 0 :(得分:0)
您希望进行Ajax调用 - 我建议Axios - 在您的客户端和服务器端之间进行通信。它非常简单,我一直在使用它与Vue.js&喜欢它。
类似的东西:
auth.vue
中的:
axios.post('/yourUserRoute', {
firstName: 'Fred',
lastName: 'Flintstone'
})
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
});
如果您确保每次要注册新用户时都拨打此axios电话,您的后端将收到正确的信息,供您继续使用服务器。我从未接触过Django,所以我不打算尝试帮助你了解细节,但这应该会给你一个良好的开端!