V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
lito
V2EX  ›  问与答

关于第三方登录!

  •  
  •   lito · 2015-05-04 17:21:39 +08:00 · 2427 次点击
    这是一个创建于 3284 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    是这样一个逻辑吗?

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