当前位置:首页 » 《随便一记》 » 正文

技术之巅|抛开复杂框架,快速实现一个具备oauth2.0功能的服务_AI码师

24 人参与  2021年03月30日 12:23  分类 : 《随便一记》  评论

点击全文阅读


关注公众号“AI码师”领取2021最新面试资料一份

什么是oauth2.0?

oauth2.0是oauth1.0的升级版,但是它不兼容oauth1.0。
oauth 是一个开放授权的标准;
OAuth认证是为了做到第三方应用在未获取到用户敏感信息(如:账号密码、用户PIN等)的情况下,能让用户授权予他来访问开放平台(主要访问平台中的资源服务器Resource Server)中的资源接口。

什么时候会用到它呢?

其实它的应用在生活中随处可见。就拿一个最常见的例子来说:

我们登陆app时,经常会看到app登陆入口提供了微信登录的入口,比如:
在这里插入图片描述

点击微信登录的时候,会跳到微信登录授权页面
在这里插入图片描述

点击同意,app就会拿到我们的用户信息(昵称,头像)。

那么它是怎么拿到用户信息的呢?
原因是微信提供了oauth2.0 接口,实现了oauth2.0协议,用户不需要在第三方app里面使用微信的用户名和密码,而是直接使用微信授权,授权之后,微信就会给第三方app传递一个授权码,第三方app拿着这个授权码去换取当前用户访问的token,最后拿着token就可以调用相应的微信接口(获取昵称和头像的接口)。

当然,微信只是用了oauth2.0中其中一种授权模式:授权码模式。它是最安全和最完整的的授权模式。oauth2.0还有其它授权模式,这里就不多讲了,今天我们主要聊一聊如何实现授权码模式。

oauth2.0 授权码模式授权流程

现在有一个需求是这样的:用户想要使用AI码师商城的账号登录第三方app

直接上图
在这里插入图片描述

代码实现思路

  • 1.提供一个authorize.do接口,用来分配授权码,并校验客户端的appid和secert,及跳转地址,校验完成之后,再进行用户名和密码校验,如果校验通过,就将当前用户信息和code绑定,然后在回调地址中拼接code参数。
  • 2.提供一个token.do接口,用来给用户分配授权token,接收用户传入的code,找到对应的绑定关系,然后生成一个token与具体用户绑定,最后将token和refreshtoken返回给第三方。
  • 3.再提供一个refreshtoken.do的接口,用来刷新token的有效期,因为给用户分配的token是有效期的,但是refresh_token的有效期比token的有效期要长,所以可以使用refresh_token来刷新token有效期

大家看完之后,是不是感觉很简单?那就赶紧动手实现吧,我这里就不贴代码了。


点击全文阅读


本文链接:http://m.zhangshiyu.com/post/16381.html

授权  用户  第三方  
<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 她的记忆停留在了最爱初恋的那年许欣柔楚临川完本_她的记忆停留在了最爱初恋的那年(许欣柔楚临川)
  • 全书浏览假千金的实习生男友霸占我办公室,我反手让他们倾家荡产(顾家明)_假千金的实习生男友霸占我办公室,我反手让他们倾家荡产(顾家明)全书结局
  • 童养夫让我给他的新欢出修复费(林嘉芝林思雅)_童养夫让我给他的新欢出修复费林嘉芝林思雅
  • 全文资助生女婿让我给他白月光付三千万月子中心钱(宋清玉宋雅)列表_全文资助生女婿让我给他白月光付三千万月子中心钱
  • 碎在时光里的谎言喻景宴秦明月完本_碎在时光里的谎言(喻景宴秦明月)
  • 旧爱剜心吻成灰席鄢之岑秋全书免费旧爱剜心吻成灰席鄢之岑秋全书免费
  • 结婚六年丈夫不碰我谁知儿子亲爹是寡头(纪清言傅司砚),结婚六年丈夫不碰我谁知儿子亲爹是寡头
  • 老公想换掉我的男胎,我笑他自不量力(宋薇于继业)_老公想换掉我的男胎,我笑他自不量力宋薇于继业
  • 给太子下了噬心蛊后,皇后找上门(小夭赵劼)全书浏览_给太子下了噬心蛊后,皇后找上门全书浏览
  • 豪门绝嗣!带球跑的夫人回来了!(谢长宴慕清杳)_豪门绝嗣!带球跑的夫人回来了!谢长宴慕清杳
  • 完美身材(李朵林之晴)_完美身材李朵林之晴
  • 离婚后,我和快穿系统绑定(白意秋陈荣周立慧)_离婚后,我和快穿系统绑定(白意秋陈荣周立慧)

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1