shiziwen
V2EX  ›  Django

django rest 第三方登录问题

By shiziwen at 2015 年 8 月 1 日 · 7463 次点击

想问一个关于第三方登录的问题。
目前在用django + rest framework 搭建一个手机客户端的服务端。
要求可以使用第三方登录,例如微博、qq、微信等。
自定义了User Model,使用手机号码登录,含有昵称等。
rest的认证使用自带的token,没有使用Oauth。

目前的疑惑是,如何将第三方登录的用户,和自定义的User Model结合起来。
多谢。

13 条回复  •  2015-11-12 17:12:35 +08:00
virusdefender
   1
virusdefender  
   2015 年 8 月 1 日
第三方第一次登陆的自动创建一个账号 然后要求补全信息
shiziwen
   2
shiziwen  
OP
   2015 年 8 月 1 日
@virusdefender
多谢,
但是这种方案不是很适合,因为想让用户第三方登录之后,直接作为登录用户来处理,不用再填写其他信息。
另一方面,我们目前的User Model,使用手机号码作为唯一标示。

现在我的想法是,可能需要修改model的设计,将本站用户和第三方用户分开,但是还没有很好的想法。
virusdefender
   3
virusdefender  
   2015 年 8 月 1 日
@shiziwen 那样的话,估计只能分开了。
delo
   4
delo  
   2015 年 8 月 1 日 via iPhone
django可以指定多个auth backend,实现可以去参考python-social相关代码
dcoder
   5
dcoder  
   2015 年 8 月 2 日
Reset
   6
Reset  
   2015 年 8 月 2 日 via iPhone
shiziwen
   7
shiziwen  
OP
   2015 年 8 月 2 日
@delo
好的,多谢,去看下代码。
shiziwen
   8
shiziwen  
OP
   2015 年 8 月 2 日
@dcoder
tastypie现在没有用。
在使用rest。
具体指的哪部分内容?
多谢。
shiziwen
   9
shiziwen  
OP
   2015 年 8 月 2 日
@Reset
好的,多谢。
看下代码。
shiziwen
   10
shiziwen  
OP
   2015 年 8 月 2 日
delo
   11
delo  
   2015 年 8 月 2 日 via iPhone
@shiziwen 是的,名字没记牢😊
shiziwen
   12
shiziwen  
OP
   2015 年 8 月 2 日
@delo
好的,多谢。

目前最大疑惑是自定义的User Model(站内用户)和第三方用户如何对应起来。

先看下代码,希望能从中找到答案。
Carrycat
   13
Carrycat  
   2015 年 11 月 12 日 via iPhone
drf 自带的 token 是 basic implementation 有很多潜在问题 基本不能实际用 比如 token user 是 onetoone 这个无法做到 single user multiple login 建议你改到 oath2 工具我用的 Django oauth2 toolkit 和 allauth 提供的第三方 social login 再把他们结合一下
© 2026 V2EX · 33ms · 3.9.8.5