为什么要绑定?

答案:简化用户登录,用第三方账号实现这个网站的登录。通过绑定,还可以获得第三方账号的提供的一些接口信息,可以再本平台直接操作第三方平台,这样,即保存了本网站的用户也有利于第三方网站,实现双赢。当然最主要是的还是实现了不用注册登录

第三方登录过后用户名是多少?

用第三方登录后默认是没有用户名的,只能获得第三方提供的一个access_token来获取第三方平台的信息。所有绑定后,我们应该引导用户手动设置我们网站上的用的名,密码等基本信息,处理办法:

1、引导手动设置用户名,密码

2、为第三方网站登录后的用户设置一个随机的用户名,引导用户随后重新设置用户名。

一、常识:

什么是授权方式:授权方式即采用什么办法来使用户获得权限。

新浪中的授权方式有哪些?

1、OAuth方式

2、XAuth方式,主要用于应用分类属于桌面客户端、手机客户端。(这里不讲解)

参考:http://open.weibo.com/wiki/Authentication#HTTP.E6.99.AE.E9.80.9A.E9.89.B4.E6.9D.83.28Basic_Authentication.29.E6.96.B9.E5.BC.8F

二、OAuth方式详解:

code:授权码,用于获得Access token,获取后会变为无效(Code只允许使用一次,如获取token失败,请重新生成code,再进行授权)

Access token (访问令牌)  用第三方登陆的凭证,通过它登录第三方获取信息,他不是固定不变得,是和用户选择的授权项有关,还有他有过期时间。

Refresh_token(刷新令牌) 

通过前两种种流程,获取了Access token以及Refresh token(对于具有"获取Refresh token权限"的应用),但是一般来讲,access token都有一定的失效,在刷新有效时长内必须通过Refresh token 来延迟Access token的时长。请求的流程有:https://auth.360buy.com/oauth/token通过http post请求发送刷新。

access_token有设定的有效期,当应用需求的accesstoken有效期超过设定值时,就可以通过refreshtoken来刷新accesstoken.

注意:新浪微博的Refresh Token 暂不开放。(参考:http://open.weibo.com/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98  第31条)

参考:http://help.jd.com/jos/question-594.html

如何防止第三方授权之后的token被冒用?

OAuth1.0的access token获取过来之后,就可以存到数据库里,然后长期使用,因为它有效期很长,通常有效期是无限的.

但是OAuth2.0为了增强安全性,access token的有效期被大大缩短,通常只有几个小时,也可以申请增加到几十天,但是总是会有过期的时候.

为此,OAuth2.0增加了一个refresh token的概念,这个token并不能用于请求api.它是用来在access token过期后刷新access token的一个标记.

在OAuth1.0中用户的登录状态是一直存在的.

在OAuth2.0中用户的登录状态需要通...

关于人人网,QQ中的access token 过期时间的判断:

用code去换取token的时候,会返回三个参数:现在的accesstoken的有效期是一个月,refreshtoken的有效期是两个 月,expirein是过期时间(生命期,从获得的时刻起的剩余有效时间,以秒为单位);第一次登陆的时候需要和用户的人人uid一起与网站uid关联起 来,还需要保存accesstoken的获取时间,以后调接口发新鲜事的时候先判断一下accesstoken是否过期,算法:现在的时间秒 数>accesstoken的获取时间+expirein(如果为true代表accesstoken已过期),

如果accesstoken已过期,需要用refreshtoken刷新accesstoken,

如果刷新没有取到accesstoken,代表refreshtoken也过期了,需要用户重新登陆一次人人网;

如果刷新取到了新的accesstoken、refreshtoken、expirein,需要用这些新的去替换掉关联表中的数据

建议在用户每次登陆的时候都用refreshtoken去刷新一次accesstoken,这样才会保证只有用户连续两个月没有登录才需要重新登录人人网;

需要重新获取code,然后得到access_token。即要重新调用授权界面。需要用refreshtoken刷新accesstoken。如果刷新取到了新的accesstoken、refreshtoken、expirein,需要用这些新的去替换掉关联表中的数据。建议每次登陆的时候都用refreshtoken去刷新一次accesstoken。

参考:http://www.cnblogs.com/hooray/archive/2012/11/17/2774499.html

http://www.iteye.com/topic/1129210

详解新浪微博登录第三方网站相关推荐

  1. Android开发全程记录(九)——使用新浪微博登录第三方应用

    1.首先到官网下载SDK,下载地址:http://open.weibo.com/wiki/Sdk 2.解压SDK包,解压后,目录下会有pdf文档,同时提供有WeiboSDK和WeiboSDKDemo, ...

  2. 钉钉一键登录第三方网站

    钉钉一键登录第三方网站 序 钉钉开发者后台 H5微应用 应用代码开发 登录页面login.html 登录实现LoginController.java pom.xml增加 一键登录效果展示 序 企业内部 ...

  3. 不懂第三方网站、App如何接入微信登录怎么办?这里我详解单点登录之第三方微信登录(建议收藏)

    2021/9/3 文章目录 一.前置准备 二.微信登录流程分析 第一步:请求code 第二步:通过code获取access_token 第三步:通过access_token调用获取用户信息 三.接口核 ...

  4. umeng(友盟)实现第三方登录和分享详解之登录详解

    一.简单介绍 因为一个平台一个平台进行弄太麻烦,也不够统一,所以领导选择了umeng(我的内心是拒绝的),umeng的文档写的便于查找,但是比较分散,对于比较熟悉的很好用,没接触过umeng的肯定一脸 ...

  5. iOS- 无处不在,详解iOS集成第三方登录(SSO授权登录无需密码)

    1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社交分享: http://www.cnblogs.com/qingche/p/3727559.html 可以 ...

  6. iOS无处不在详解iOS集成第三方登录(SSO授权登录无需密码)

    链接地址:http://www.it165.net/pro/html/201408/18884.html 1.前言 不多说,第三登录无处不在!必备技能,今天以新浪微博为例. 这是上次写的iOS第三方社 ...

  7. umeng(友盟)实现第三方登录和分享详解之登录详解,程序员的中年危机

    android:name="com.sina.weibo.sdk.share.WbShareTransActivity"> 微信:不需要 支付宝: <activity ...

  8. 详解如何进行第三方App接入微信登录

    微信登录接入 微信登录遵循协议Aouth2.0中的授权码模式 我们来看一下Aouth2.0中的授权码模式是怎么定义的: 授权码模式(authorization code)是功能最完整.流程最严密的授权 ...

  9. DNS劫持详解、如何使用网站监控检测dns劫持和网络劫持的特征

    如何检测是否存在劫持? 使用IIS7网站监控,进入监控页面,输入你需要检测的网站域名,点击"提交检测",我们可以看到"检测次数"."返回码" ...

最新文章

  1. 25. javacript高级程序设计-新兴的API
  2. AI+Science 是人类两大科研范式的结合,工程化正当时
  3. 第二课unit2 控制对文件的访问
  4. golang的time包:时间字符串和时间戳的相互转换
  5. C++中的类模板详细讲述
  6. 一个简单的Java计时器项目,附源码
  7. .net 获取 存储过程的输出参数
  8. 常见设计模式 (python代码实现)
  9. Vivado Design Suite用户指南之约束的使用第二部分(约束方法论)
  10. CSS Expression用法总结
  11. 编程语言python入门-2020年10月编程语言:Java、Python 龙争虎斗
  12. mysql 测试快生产慢_兴奋!阿里三位扫地憎专家总结的Mysql性能优化金字塔法则,操作细节满分...
  13. 2022高处安装、维护、拆除考试练习题及答案
  14. 关于Oracle的PARALLEL_MAX_SEVERS参数
  15. 网上做什么可以赚钱?网上最靠谱的赚钱方法
  16. CSS学习05:文字段落排版
  17. 507「LibreOJ NOI Round #1」接竹竿-DP
  18. javascript案例,专辑前6名
  19. 用stream流比较List<对象>内的时间戳进行分组 按天
  20. Pytorch学习笔记7——自定义数据集

热门文章

  1. anaconda换源方法及国内源地址
  2. matlab acos函数,acos函数(函数acos是什么意思)
  3. Mysql 常见DML sql 总结
  4. 算法设计与分析基础第三版
  5. 科蓝金融科技工具箱,为金融APP数字化运营保驾护航
  6. 痞子衡嵌入式:超级下载算法RT-UFL v1.0在恩智浦MCUXpresso IDE下的使用
  7. 键盘win键没反应?估计是锁了
  8. 【matlabpython】飞行器简单状态空间模型微分步长仿真程序参考
  9. 食品行业质量追溯体系的建设(二)                      --- 寻求精度合适合规的质量追溯方案
  10. CTF.show:misc入门1-23