2025年四种认证auth-学习

四种认证auth-学习单点登录 https juejin cn post 知乎 单点登录 用户访问系统 1 的受保护资源 系统 1 发现用户未登录 跳转至 sso 认证中心 并将自己的地址作为参数 sso 认证中心发现用户未登录 将用户引导至登录页面 带系统 1 地址

大家好,我是讯享网,很高兴认识大家。

单点登录

https://juejin.cn/post/ 知乎

单点登录:

用户访问系统1的受保护资源,系统1发现用户未登录,跳转至sso认证中心,并将自己的地址作为参数 sso认证中心发现用户未登录,将用户引导至登录页面(带系统1地址) 用户输入用户名密码提交登录申请 sso认证中心校验用户信息,创建用户与sso认证中心之间的会话,称为全局会话(这时该会话信息保存到cookie中),同时创建授权令牌 sso认证中心带着令牌跳转到最初的请求地址(系统1) 系统1拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统1 系统1使用该令牌创建与用户的会话,称为局部会话(seesion),返回受保护资源 用户访问系统2的受保护资源 系统2发现用户未登录,跳转至sso认证中心,并将自己的地址和之前和sso认证中心的会话cookie信息作为参数 sso认证中心发现用户已登录,跳转回系统2的地址,并附上令牌 系统2拿到令牌,去sso认证中心校验令牌是否有效 sso认证中心校验令牌,返回有效,注册系统2 系统2使用该令牌创建与用户的局部会话,返回受保护资源 

讯享网

image.png
讯享网

主要是“认证中心会生成一个 tgt 和cookie ,cookie 全局使用,tgt用于在认证中心最认证是否用户已经登陆

https://gitee.com/xuxueli0323/xxl-sso/blob/master/doc/XXL-SSO%E5%AE%98%E6%96%B9%E6%96%87%E6%A1%A3.md

代码演示文档

认证流程:

  • 修改Host文件:域名方式访问认证中心,模拟跨域与线上真实环境
讯享网 在host文件中添加以下内容0 127.0.0.1 xxlssoserver.com 127.0.0.1 xxlssoclient1.com 127.0.0.1 xxlssoclient2.com 
  • 分别运行 “xxl-sso-server” 与 “xxl-sso-web-sample-springboot”

    1、SSO认证中心地址: http://xxlssoserver.com:8080/xxl-sso-server

    2、Client01应用地址: http://xxlssoclient1.com:8081/xxl-sso-web-sample-springboot/

    3、Client02应用地址: http://xxlssoclient2.com:8081/xxl-sso-web-sample-springboot/

  • SSO登录/注销流程验证

    正常情况下,登录流程如下: 1、访问 “Client01应用地址” ,将会自动 redirect 到 “SSO认证中心地址” 登录界面 2、成功登录后,将会自动 redirect 返回到 “Client01应用地址”,并切换为已登录状态 3、此时,访问 “Client02应用地址”,不需登陆将会自动切换为已登录状态

    正常情况下,注销流程如下: 1、访问 “Client01应用地址” 配置的 “注销登陆path”,将会自动 redirect 到 “SSO认证中心地址” 并自动注销登陆状态 2、此时,访问 “Client02应用地址”,也将会自动注销登陆状态

模块中嵌套模块 也是可以的

验证:

http://localhost:8082/xxl-sso-web-sample-springboot 会跳转到oss认证中心进行认证

http://localhost:8082/xxl-sso-web-sample-springboot/?xxl_sso_sessionid=1000_bffac1b37b0d565fc3f01dc4 

登陆之后 跳转到我们登陆页面,携带者tgt和cookie跳转到最初的登陆页面

auth2认证

需要注意的是,OAuth 2.0是为授权(Authorization)的,不是为了认证(Authentication)。下面介绍一下授权与认证的区别。

讯享网一、步骤:【例如登录CSDN】 1.用户点击登录 2.引导跳转到授权页 3.用户输入账号密码点击授权 4.授权成功快速注册,然后登录通过CSDN OAuth2.0:【一种协议标准,现在都使用OAuth2.0】实际上就是服务器开放了一些查询用户信息的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权,授权成功会拿到token,根据token调用OpenAPI获取用户信息 

在这里插入图片描述

主要是两个概念:授权码和令牌

授权码和令牌都是auth端发布,关系是,serve端使用授权码进行获取令牌,再有serve端使用令牌进行校验令牌,获取用户信息。进行验证登录

现在分布式微服务的环境下难不成还要每个服务都做一套自己的认证授权吗 OAuth2.0便可以解决分布式环境下的统一认证授权,我们要学习的是Spring推出的Spring-Oauth2.0框架,可以完美的和SpringBoot 以及 SpringCloud进行整合,而不需要复杂的配制,在学习前最好已经了解学习了SpringSecurity的使用,因为SpringSecurity和SpringOauth2一般是一起使用的,SpringOauth2包含SpringSecurity,所以很多配制都需要结合SpringSecurity来完成。 Oauth2中一般可以分为四个角色,包括:客户端、资源拥有者、授权服务器(也称认证服务器)、资源服务器。 
讯享网客户端可以理解为web浏览器、移动客户端、微信小程序等,就是用户看到的前端。 资源拥有者通常指的是用户,也可以是应用程序,即该资源的最终给了谁。 授权服务器,也称认证服务器,主要用户对用户的身份认证即权限的授权,以及全局令牌的颁发,就如上面微信认证的微信认证服务器。 资源服务器也就是提供资源的服务器,就比如上面微信认证的微信用户数据服务器,存储着我闷需要的资源。 

https://blog.csdn.net/_/article/details/ csdn 对于auth2实战

小讯
上一篇 2025-04-06 10:51
下一篇 2025-01-19 17:50

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/61172.html