sso实现原理解析

.net5 如何自己写身份认证:

1、首先需要自己实现鉴权中间件,继承自 AuthenticationHandler<XXXOptions> 泛型基类,XXXOptions为参数类,在拿到header中的token后,解析该token,正确的获取到用户数据

2、需要实现自己的Token 管理类,继承自 SecurityToken ,用于授权,在用户请求Token的时候,调用此类方法生成并返回

3、扩展AuthenticationBuilder类,添加注册自定义鉴权代码 builder.AddScheme<XXXOptions, XXXHandler>(authenticationScheme, displayName, configureOptions);

4、最后在Startup中添加 services.AddAuthentication().addXXXAuthentication()

jwtBearer实现原理:

1、颁发token:客户端发送请求获取Token,服务器验证用户身份成功后颁发token,返回给用户

jwt使用继承自 SecurityToken 的 JwtSecurityToken类颁发token

(token生成逻辑及加密方式占位)

2、身份鉴定:客户端拿到token后,调用业务接口时放入header中,后台获取并解析token

 jtw使用基于AuthenticationHandler<JwtBearerOptions>的实现类JwtBearerHandler,服务端接收到请求时,先由HandleAuthenticateAsync方法进行处理,解析出用户信息(claims)

(解析的详细逻辑及解密方式占位)

基于saml2.0协议实现的sso:

Newd

版权声明

作者:扶我起来我还要敲

地址:https://www.cnblogs.com/Newd/p/15592248.html

© Newd 尊重知识产权,引用请注出处

广告位

(虚位以待,如有需要请私信)

原文地址:https://www.cnblogs.com/Newd/p/15592248.html