shiziwen
V2EX  ›  Django

django rest 第三方登录问题

  •  
  •   shiziwen · Aug 1, 2015 · 7088 views
    This topic created in 3960 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    先看下代码,希望能从中找到答案。
    Carrycat
        13
    Carrycat  
       Nov 12, 2015 via iPhone
    drf 自带的 token 是 basic implementation 有很多潜在问题 基本不能实际用 比如 token user 是 onetoone 这个无法做到 single user multiple login 建议你改到 oath2 工具我用的 Django oauth2 toolkit 和 allauth 提供的第三方 social login 再把他们结合一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1013 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 18:49 · PVG 02:49 · LAX 11:49 · JFK 14:49
    ♥ Do have faith in what you're doing.