一次性讲清OAuth2.0授权

什么是OAuth2.0授权

OAuth2.0是一种用于授权的开放标准,它允许用户授权第三方应用访问其在另一个应用中存储的信息,而无需将用户名和密码提供给第三方应用。
OAuth2.0通过令牌的方式来实现授权,令牌可以限制第三方应用的访问权限和有效期。
OAuth2.0的出现解决了用户在使用第三方应用时需要提供用户名和密码的安全隐患,同时也提供了一种标准的授权机制,使得第三方应用可以安全、高效地访问用户的资源。

OAuth2.0工作原理

在这里插入图片描述

OAuth2.0应用示例

  • 网站应用微信登录 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Wechat_Login.html

  • 微博授权登录https://open.weibo.com/wiki/%E6%8E%88%E6%9D%83%E6%9C%BA%E5%88%B6

  • E签宝企业认证授权https://open.esign.cn/doc/opendoc/seal-open-api/mhg76c#L456v

  • 企业微信网页授权登录 https://developer.work.weixin.qq.com/document/path/91119

  • 多个服务的统一登录认证中心,支付宝账号可以授权访问阿里旗下的网站

OAuth2.0授权模式

(百度网盘为例)

授权码模式

在这里插入图片描述1.用户选择通过百度账号登录开发者应用。
2.开发者应用发起授权码 Code 请求。
3.百度 OAuth 服务器展示授权页面给用户,用户登录并同意授权。
4.用户同意授权后,百度 OAuth 服务器会将页面跳转至开发者应用配置的回调地址,返回授权码 Code。
5.开发者应用发起 Code 换取 Access Token 请求。
6.百度 OAuth 服务器返回 Access Token 凭证。

简化模式

在这里插入图片描述
相比授权码模式,简化模式不需要获取授权码 Code,直接获取 Access Token 凭证。
简化模式不支持刷新 Access Token,过期后需用户重新登录授权。
简化模式适用于无 server 端配合的应用。

1.用户选择通过百度帐号登录开发者应用。
2.开发者应用发起获取 Access Token 请求。
3.百度 OAuth 服务器展示授权页面给用户,用户登录并同意授权。
4.用户同意授权后,百度 OAuth 服务器返回 Access Token 凭证。

设备码模式

在这里插入图片描述1.开发者应用请求设备码、用户码。
2-3.百度 OAuth 服务器返回设备码、用户码、二维码url。
4.开发者应用根据二维码url呈现二维码,用户通过手机等智能终端扫描二维码。
这里开发者应用也可选择根据授权url(2-3会返回授权url),呈现用户输入用户码的页面,用户输入用户码实现对设备授权。
5.为用户返回授权页面,用户登录百度帐号并授权。当用户使用已登录百度帐号的设备扫描二维码时,无需登录直接授权。
6.用户完成授权后,开发者应用周期性用第1步返回的设备码请求 Access Token 凭证。
7.百度 OAuth 服务器在用户确认授权后,返回 Access Token。

如何申请应用及密钥等信息

  1. 去相应的开放平台申请应用
  2. 应用详情中可查看到应用的id、key、secret
  3. 安全设置中可设置授权回调地址等信息
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaobai178

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值