免费注册,打造高效身份管理
博客/开发者/Oauth2.0 设计初衷是为了通过授权避免用户多次登录吗?
Oauth2.0 设计初衷是为了通过授权避免用户多次登录吗?
Authing 官方2022.11.28阅读 1312

作为开发人员,免不了要使用 API 接口,获得授权,但是授权必须安全,才能保证开发人员和用户的隐私不被侵犯与泄露,OAuth 2.0 的创建就是为了应对许多现代数字隐私裸奔困境。OAuth 2.0 作为一种开放标准的授权协议,允许网站和应用程序安全地使用 API,为应用程序提供“安全指定访问”的能力。


OAuth 不需要共享用户名和密码等相关数据,而是使用授权令牌来证明使用者和服务提供商之间的身份,允许用户授权一个 APP 访问另一个 APP 的身份信息。


举例来说,比如我们想用微信登录网易云音乐,网易云音乐会向微信发出登录请求,系统会跳转到微信登录页面,点击授权并登录,用户就可以登录了。


OAuth 2.0 有四种授权模式:

  1. 授权码(Authorization-code):指的是第三方应用先申请一个授权码,然后再用该码获取令牌。该方式是最常用的流程,安全性也最高,它适用于那些有后端的 Web 应用。
  2. 隐藏式(Implicit):该模式面向纯前端应用,App 认证服务器只返还一次授权码。
  3. 密码式(Password):允许客户端或者第三方应用,直接使用用户的账号密码进行令牌的获取。该方式在用户端应用广泛。
  4. 凭证式(Client credentials):适用于没有前端的命令行应用,即在命令行下请求令牌。该方式操作简单,只需要发送客户请求,即可获得访问令牌(Access Token),但这种方式非常不安全,需要对客户端完全信任,且客户端本身需要具备安全性。


常见的 OAuth 2.0 授权流程如下:

  1. 在你的应用中,让用户访问登录链接,浏览器跳转到 Authing,用户在 Authing 完成认证。
  2. 浏览器接收到一个从 Authing 服务器发来的授权码。
  3. 浏览器通过重定向将授权码附带在重定向地址后面。
  4. 你的应用服务将授权码发送到 Authing 获取 AccessToken,如果需要,还会返回 refresh token。
  5. 你的应用后端现在知道了用户的身份,后续就可以保存用户信息,重定向到前端其他页面,使用 AccessToken 调用资源方的其他 API 等等。

Authing 身份云国内首款以开发者为中心的全场景身份云产品,集成了所有主流身份认证协议,为企业和开发者提供完善安全的用户认证和访问管理服务,已帮助 20,000+ 家企业和开发者构建标准化的用户身份体系。

Authing 既是客户的支持者,也是客户的产品专家和战略顾问,更是值得信赖的合作伙伴。我们提供全球化的身份专家支持团队,通过网络或电话,7*24 小时不间断支持。Authing 的帮助中心提供最新的技术知识库、商业案例以及与您的同行和 Authing 专家联系的机会。无论您何时需要我们,Authing 的支持团队总能最快响应。

2022 年,Authing 将秉承着致力于客户成功的初衷,帮助推动客户重要业务,为实现身份连通、打破数据孤岛而不懈努力。

了解 Authing

文章作者

avatar

Authing 官方

0

文章总数

authing blog rqcode
关注 Authing 公众号
随时随地发现更多内容
authing blog rqcode
添加 Authing 小助手
加入 Authing 开发者大家庭
身份顾问在线解答
当前在线
如何打造完整的身份体系?
立即沟通
authing
添加企业微信,领取行业资料
authing
authing
下载 Authing 令牌,体验快速登录认证!
免费使用
在线咨询
电话咨询