V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
lito
V2EX  ›  问与答

关于第三方登录!

  •  
  •   lito · May 4, 2015 · 3141 views
    This topic created in 4010 days ago, the information mentioned may be changed or developed.

    以新浪微博第三方登录为例!
    (1)客户端(app)第一次请求Oauth2/authorize得到CODE
    (2)客户端通过code和client_id client_secret等值等到access_token和uid传给服务器!服务器保存!

    如果用户第二次使用新浪微博登录的话是不是还是要经过上述两部,第二步的时候,服务端通过传过来的access_token和uid通过数据库对比!如果有值的话,返回用户相关信息!如果没有,注册用户!

    是这样一个逻辑吗?

    6 replies    2015-05-04 19:56:44 +08:00
    Xrong
        1
    Xrong  
       May 4, 2015
    你记uid就行了,access_token 会不会变还不确定,我自己的实现是只判断UID,但是我猜access_token是会变的
    lito
        2
    lito  
    OP
       May 4, 2015
    @Xrong 恩 access_token是会变,因为有生命周期!其他的做法是OK的吗?记住accesstoken可能在服务端做验证!
    Xrong
        3
    Xrong  
       May 4, 2015
    weibo 传给你的是UID比如:2437993333,QQ传给你的是openID比如:ADA55EF1FA6FED3DA250A798EEF25F99,每次返回的这两个东西是不变的,你对应的判断就行。
    lito
        4
    lito  
    OP
       May 4, 2015
    @Xrong 恩!我意思是客户端每次都要传给服务端uid或者Openid然后,服务端验证 是注册新用户还是返回老用户的值是不是?
    AlloVince
        5
    AlloVince  
       May 4, 2015
    AccessToken的Value有可能刷新不能作为登陆凭证,对比是否同一用户的字段每个网站不太一样,QQ是openid,微博是uid,如果你自己设计数据库保存这些,需要自己维护一套映射关系
    bigfa
        6
    bigfa  
       May 4, 2015 via iPhone
    一般都会用一个不变的参数,微博是uid,token肯定是会变的…token可以用来进行其他操作,比如获取详细信息啥的。最奇葩的是豆瓣,token根本没用…
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   833 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 21:10 · PVG 05:10 · LAX 14:10 · JFK 17:10
    ♥ Do have faith in what you're doing.