OAuth 2.0实现统一认证

编程入门 行业动态 更新时间:2024-10-24 22:21:52

<a href=https://www.elefans.com/category/jswz/34/1770930.html style=OAuth 2.0实现统一认证"/>

OAuth 2.0实现统一认证

OAuth 2.0协议概念:

OAuth 是 Open Authorization 的简写。OAuth 协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是 OAuth 的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此 OAuth 是安全的。OAuth 2.0(开放授权)是一个认证框架,它允许应用程序访问您在其他应用程序上存储的个人信息,而无需共享您的密码。它是一种安全、简单、灵活的解决方案,已成为许多网站和服务使用身份验证和授权的开放标准。

OAuth2 协议主要角色:
  1. 资源所有者 (Resource Owner):资源所有者是指拥有受保护资源的用户,即数据或服务的真正拥有者。资源所有者通过授权将访问权限委派给客户端。
  2. 客户端 (Client):客户端是指请求访问受保护资源的应用程序、网站或设备。它可以是第三方应用、移动应用、桌面应用等。
  3. 授权服务器 (Authorization Server):也称为认证服务器,授权服务器负责认证资源所有者,并颁发访问令牌给客户端。它验证客户端的身份和授权请求,并提供资源所有者进行授权的界面。
  4. 资源服务器 (Resource Server):资源服务器存储和管理受保护的资源。它接收来自客户端的访问请求,并根据访问令牌的有效性来判断是否授权访问资源。
  5. 授权许可 (Authorization Grant):授权许可是资源所有者授权给客户端访问受保护资源的凭证。OAuth2定义了多种授权许可类型,如授权码、简化授权、密码授权和客户端凭证等。
  6. 访问令牌 (Access Token):访问令牌是由授权服务器颁发给客户端的凭证,表示客户端被授权访问受保护资源的权限。客户端使用访问令牌来请求资源服务器获取受保护资源。
  7. 刷新令牌 (Refresh Token):刷新令牌是可选的,用于在访问令牌过期后获取新的访问令牌。客户端可以使用刷新令牌向授权服务器请求刷新访问令牌,以延长访问权限的有效期。

OAuth 2.0实现统一认证流程

假如我们是一个前后端分离的项目

前端地址:192.168.0.1

后端地址192.168.0.2

统一认证地址192.168.0.3

在我们这个前后端分离的项目中具体流程如下:

1.用户在客户端(浏览器)输入想要访问的资源URL,比如192.168.0.1:8080/page

2.因为没有任何授权,前端就会将请求重定向到统一认证的地址上,并拼接上redirectUri和appId,secrit等字段

http://192.168.0.3:9000/onecity-bc-login/?returnUrl=/onecity/bc/boss/oauth2.0/authorize?redirectUri=http:192.68.0.1:8080/login&appId=xasf_yw_wy

3.用户在统一认证的地址上输入账号密码,通过认证后,认证服务器生成code,然后统一认证服务就会重定向到上面路径的redurectUri—192.68.0.1:8080/login路径并拼接刚刚生成的code

http://192.168.0.1:8080/login?code=33635289265

4.此时我们的前端服务已经获取到了code,前端服务拿这个code请求后端服务的getToken接口,后端的gettoken接口收到code后会调用方法请求统一认证的getToken服务接口,token认证成功后,此时后端会把token存储起来,并把token作为前端的请求的response给前端

5.此时前端服务已经接收到了token,前端token会将token保存起来,并保存在浏览器的cookie中。之后前端加载用户首次输入的访问地址,完成资源加载。

6.在首次认证完成后,token时效内,我们每次访问资源都会携带token完成资源加载。

更多推荐

OAuth 2.0实现统一认证

本文发布于:2023-11-15 20:30:55,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1605895.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:OAuth

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!