我使用自定义用户模型在我的网站中注册用户。它的工作方式是,当用户注册时,他/她的声誉为0,类似于Stack overflow。也就是说,为该用户创建了一个用户模型的新实例。
现在我想将OAuth添加到我的网站,但是,我不明白当新用户使用OAuth登录我的网站时,将为该用户创建一个新的django用户模型实例,这样就像注册一样我的网站并让用户以声誉0开头。
就像堆栈溢出实现的方式一样,如果用户有一个SO帐户,他仍然可以使用谷歌帐户登录并创建他的堆栈溢出配置文件,就像他在SO上注册一样。
我希望我的问题很明确, 我只需要知道在这种情况下一起工作的方式。谢谢你们。
答案 0 :(得分:2)
OAuth只是一个登录流程,其中身份验证和数据由第三方提供。例如。谷歌,Facebook,Twitter,OpenID,雅虎等。 流程基本上是这样的:
这有点抽象,只是OAuth所有选项的一部分,但它涵盖了基本的登录流程。所有带有你的块都是你需要准备/编码的步骤。例如。一个视图,它接受代码/令牌,并与您可以为用户登录/创建帐户的数据进行交换。
大多数第三方都有很好的文档说明如何使用他们的API完成注册。
但是你必须手动创建一些逻辑,因此使用自定义用户模型没有任何好处或缺点。
如果这不能回答你的问题,请详细说明你的意思。