前几天参加面试的时候,被面试官问道第三方登录的问题,流程其实很简单,但是当面试官问为什么要保存access token,它过不过期有什么意义。当时答得不是很对,现在总结一下

第三方登录流程

  • 第一步:获取 code
https://graph.qq.com/oauth2.0/authorize?
response_type=code      //固定写法
&client_id=" . $app_id . " //腾讯给的APPID
&redirect_uri=" . urlencode($my_url) . "   //回调地址
&state=". $_SESSION['state'];
$Scope="get_user_info" 这个是     //网站申请获取用户的信息
  • 第二步:根据 code 获取 access_token
https://graph.qq.com/oauth2.0/token?
grant_type=authorization_code       //固定写法
&client_id=[YOUR_APP_ID]        //APP_ID
&client_secret=[YOUR_APP_Key]       //APP_KEY
&code=[The_AUTHORIZATION_CODE]  //Authorization Code 的值
&state=[The_CLIENT_STATE]       //防止攻击
&redirect_uri=[YOUR_REDIRECT_URI]   //回调
  • 第三步:使用Access Token来获取用户的OpenID
https://graph.qq.com/oauth2.0/me?access_token=YOUR_ACCESS_TOKEN 

openID用户是在这个网站的标识,用户第一次登录还是再次登录就是用这个标识的。通过openID和appID和access_token使用OpenAPI接口来获取用户的信息。具体API的使用请阅读第三方提供方的文档。


进入正题,要理解access_token的作用,和他为什么有三个月的过去问题,那么我们必须了解两点:

1.网站什么时候获取到access_token?

当用户点击第三方登录图标,并授权允许登录,这个时候网站才能获取到access_token。

2.access_token的作用?

使用Access Token来获取用户的OpenID,然后可以使用OpenID来获取用户的信息。


从上面两步就可以看出,当用户授权登录到网站后,网站就可以获取到这个access_token。这个时候假如,假如access_token没有过期时间,那么以后网站可以使用保存下来的access_token来永久的获取用户的信息,这样当然不可以啦,所以第三方规定了access_token有三个月的时间,如果用户在三个月后都没有登录过这个网站,那么这个网站所保存的access_token也就过期了,再也不能获取用户新的信息了,只有等到下一次用户重新授权登录的时候,网站从新获取access_token才能再次获取用户信息。

第三方登录access token过期问题相关推荐

  1. 【GitHub】Personal Access Token过期导致本地仓库无法直接push到远程

    自从GitHub引入access token后,clone 私人仓库到本地需要使用它否则无法push,但access token过期后,原来token clone到本地的仓库,每次push都需要输新t ...

  2. 用户数据表设计借鉴 浅谈数据库用户表结构设计,第三方登录 基于 Token 的身份验证

    最近对用户数据表的设计比较感兴趣,看到了两篇比较好的文章. 浅谈数据库用户表结构设计,第三方登录 转载于: https://www.cnblogs.com/jiqing9006/p/5937733.h ...

  3. 百度AI Access Token过期处理

    Access Token作为请求百度AI接口以及太多需要第三方平台开发接口的唯一凭据,都存在有效期的问题.而过期处理是很有必要的. 一.问题现状 Access Token的获取一般都是Https请求, ...

  4. Token实现登录、token过期解决以及数据解析

    什么是token?         token我们可以理解为一个令牌,主要的作用是守护我们系统的安全,像我们登录这些都是可以使用token进行用户数据校验的,那么为什么不用传统的session呢?主要 ...

  5. php 防止access token过期,微信調用接口,防止Access_token過期的方法

    大家都知道,微信中調用訂閱用戶接口中需要Access_token,而根據微信官方文檔中說明: access_token是公眾號的全局唯一票據,公眾號調用各接口時都需使用access_token.正常情 ...

  6. Android Retrofit处理Token过期的问题

    Token有两种,access token和refresh token. 以下三条是token的作用和生命周期过程. 用户登录后,去访问其他接口,都需要在http head里带上access toke ...

  7. token 过期后,如何自动续期?

    JWT token的 payload 部分是一个json串,是要传递数据的一组声明,这些声明被JWT标准称为claims. JWT标准里面定义的标准claim包括: iss(Issuser):JWT的 ...

  8. Access Token 与 Refresh Token【转载哒科普啊】

    Access Token 与 Refresh Token access token 是客户端访问资源服务器的令牌.拥有这个令牌代表着得到用户的授权.然而,这个授权应该是临时的,有一定有效期.这是因为, ...

  9. 获取百度开放平台Access Token,调用百度统计接口

    官方文档:http://developer.baidu.com/wiki/index.php?title=docs/oauth 获取 Access Token有几种方式 由于项目需求比较简单,这里选择 ...

最新文章

  1. 【Ant Design Pro 三】样式动态绑定 react样式绑定
  2. python输入字符串转换为公式_将python字符串转化成长表达式的函数eval实例
  3. IIS服务器下做301永久重定向设置方法[图解]
  4. c#获取对象的唯一标识_Articy Importer Guide - 01 基本对象处理
  5. python数据预处理代码_Python中数据预处理(代码)
  6. oracle em配置报错,oracle em 启动报错OC4J Configuration issue
  7. Cookie与Session的联系与区别
  8. 【英语学习】【WOTD】darling 释义/词源/示例
  9. 简述什么是图灵机_什么是图灵机
  10. ESTORE OPENCART 清爽现代主题模板 ABC-0063
  11. 大数据入门的知识体系,大数据学习路线
  12. HandlerSocket的安装实例及性能测试
  13. Windows 10/11【家庭版】设置本地账户密码永不过期的方法
  14. 三年半 Java 后端鹅厂面试经历
  15. 消费金融及物流概念介绍
  16. 通俗理解LDA主题模型(转)
  17. FFmpeg 基础库(一)视频格式
  18. 如何让Citrix客户端不能访问XenApp服务器的磁盘
  19. 如何判断对方列表里是不是好友_怎么判断QQ是不是被对方删除好友了_怎么知道对方QQ是否把我删了...
  20. Matlab filter实现滑动平均滤波

热门文章

  1. 【深度学习入门】Paddle实现车辆检测和车辆类型识别(基于YOLOv3和ResNet18)
  2. Radware:IP欺诈等让网络攻击难以防范
  3. Linux环境下FTP传输文件无反应
  4. 害羞的伦琴是如何掀起X-射线狂热的?
  5. 【软考】系统集成项目管理工程师(十三)项目干系人管理
  6. 如何套牢ceRNA研究套路
  7. 认缴出资额和实缴出资额的区别
  8. 跨年洞察:虎年医药营销的战略挑战与抉择
  9. esp32桌面天气代码
  10. zip(压缩) 和 *zipped(解压)_CodingPark编程公园