以新浪微博第三方登录为例!
(1)客户端(app)第一次请求Oauth2/authorize得到CODE
(2)客户端通过code和client_id client_secret等值等到access_token和uid传给服务器!服务器保存!
如果用户第二次使用新浪微博登录的话是不是还是要经过上述两部,第二步的时候,服务端通过传过来的access_token和uid通过数据库对比!如果有值的话,返回用户相关信息!如果没有,注册用户!
是这样一个逻辑吗?
1
Xrong 2015-05-04 18:01:34 +08:00
你记uid就行了,access_token 会不会变还不确定,我自己的实现是只判断UID,但是我猜access_token是会变的
|
2
lito OP @Xrong 恩 access_token是会变,因为有生命周期!其他的做法是OK的吗?记住accesstoken可能在服务端做验证!
|
3
Xrong 2015-05-04 18:26:02 +08:00
weibo 传给你的是UID比如:2437993333,QQ传给你的是openID比如:ADA55EF1FA6FED3DA250A798EEF25F99,每次返回的这两个东西是不变的,你对应的判断就行。
|
4
lito OP @Xrong 恩!我意思是客户端每次都要传给服务端uid或者Openid然后,服务端验证 是注册新用户还是返回老用户的值是不是?
|
5
AlloVince 2015-05-04 19:17:08 +08:00
AccessToken的Value有可能刷新不能作为登陆凭证,对比是否同一用户的字段每个网站不太一样,QQ是openid,微博是uid,如果你自己设计数据库保存这些,需要自己维护一套映射关系
|
6
bigfa 2015-05-04 19:56:44 +08:00 via iPhone
一般都会用一个不变的参数,微博是uid,token肯定是会变的…token可以用来进行其他操作,比如获取详细信息啥的。最奇葩的是豆瓣,token根本没用…
|