最详细的一篇关于Oauth2.0认证模式

本文详细介绍了OAuth2.0的认证流程,包括授权码模式、密码模式、客户端模式和简化模式,以及在微服务中认证中心的角色和工作流程。同时,讨论了各种模式的安全性和适用场景,如授权码模式适用于Web服务器端应用,密码模式用于第一方应用,客户端模式用于完全信任的服务器端服务,简化模式适用于单页面应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OAuth(开放授权)是一个开放标准,允许用户授权第三方应用访问他们存储在另外的服务提供者上的信息,而不 需要将用户名和密码提供给第三方应用或分享他们数据的所有内容。OAuth2.0是OAuth协议的延续版本,但不向 后兼容OAuth 1.0即完全废止了OAuth1.0。很多大公司如Google,Yahoo,Microsoft等都提供了OAUTH认证服 务,这些都足以说明OAUTH标准逐渐成为开放资源授权的标准

Oauth协议目前发展到2.0版本,1.0版本过于复杂,2.0版本已得到广泛应用。

参考:https://baike.baidu.com/item/oAuth/7153134?fr=aladdin

Oauth协议:https://tools.ietf.org/html/rfc6749

Oauth2的认证流程

  • 流程图
    oauth2的认证流程

引自OAauth2.0协议rfc6749 https://tools.ietf.org/html/rfc6749

  • 概念:

    • 客户端

      本身不存储资源,需要通过资源拥有者的授权去请求资源服务器的资源,比如:Android客户端、Web客户端(浏 览器端)、微信客户端等。

    • 资源拥有者

      通常为用户,也可以是应用程序,即该资源的拥有者。

    • 授权服务器(也称认证服务器)

      用于服务提供商对资源拥有的身份进行认证、对访问资源进行授权,认证成功后会给客户端发放令牌 (access_token),作为客户端访问资源服务器的凭据。l例如:微信的认证服务器、支付宝的认证服务器

    • 资源服务器

      存储资源的服务器,例如:微信、支付宝等包含用户信息服务器,可以通过认证服务器认证之后,通过access_token获取微信、支付宝保存的用户信息

Oauth2的四种模式

授权码模式

简单来讲就是经过用户授权之后获取code,然后通过code到认证服务器获取access_otken

  • 认证流程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值