首页 > 其他分享 >Skoruba.IdentityServer4 相关

Skoruba.IdentityServer4 相关

时间:2022-09-19 22:25:59浏览次数:123  
标签:校验 IDS Skoruba 认证 Token Client Cookie 相关 IdentityServer4

目的:重新梳理下,记录下来。

下面 身份认证、Token颁发服务器简称 “IDS”

1.认证,基于Cookie的认证方式

  IdentityServer4采用Cookie认证方式

  

   

   

   IdentityServer4基于Asp.net Core Cookie认证方案之上建立自己的cookie认证方案(默认Cookie认证方案、外部Cookie认证方案)

  登录时,记住密码Cookie默认过期时间14天

  

2.非对称加密

  IDS 通过保有私钥,公开公钥

  通过私钥生成JWT的签名,通过公钥校验JWT的签名(Signature 部分是对前两部分Header、Payload的签名,防止数据篡改。)

  公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥,所以这种算法叫作非对称加密算法

   自制证书地址 https://www.cnblogs.com/leon-ytparty/articles/10418980.html

  

   地址 https://hexquote.com/creating-self-signing-certificates-for-identityserver/

  Token(JWT)

  IDS生成Token,其中的签名使用 “私钥生成” 加密 。

  当某一个Client拿着 “私钥生成”  的Token访问 API资源时,API资源向 IDS 的公开文档(.well-known)获取 “ 公钥 ”(一般情况下,未重启情况下,只会获取一次),Api通过公钥校验Token中的签名(Token中Payload部分,也可以校验)。

3.登录流程

  不选择 “记住我” 

  A.用户通过Client “重定向” 到IDS -> 用户输入账密(或第三方账密校验)-> 生成Cookie加入Response中响应给该Client的用户  -> 后续生成、返回Token

  B.在浏览器上新开一个Tab。用户通过Client “重定向” 到IDS -> 校验附带在Request中的Cookie -> 校验成功,表示认证成功,不需要输入账密了  -> 后续生成、返回Token

  关闭浏览器后Cookie失效。重新走A的流程。

  选择 “记住我” 

  1.走A的流程,生成的Cookie默认有效期14天。

  关闭浏览器后Cookie不失效。走B的流程。

  这也就是为什么在同一个浏览器上开多个Client “重定向”到同一个IDS,不需要重新登录的原因。

  

标签:校验,IDS,Skoruba,认证,Token,Client,Cookie,相关,IdentityServer4
From: https://www.cnblogs.com/youlicc/p/16706179.html

相关文章

  • kafka相关命令
    1,创建Topic2,往Topic写入数据命令:kafka-producer-perf-test--topicck_test111--num-records1000--record-size2000--throughput1000--producer-propsbootstrap......
  • static的相关内容
    静态static:该变量在全局数据区分配内存;未经初始化的静态全局变量会被自动初始化为0;静态全局变量在声明它的整个文件都是可见的,而在文件之外是不可见的;静态局部变量与局部变......
  • 02.构建RESTful API相关
    几个常用注解@Controller:修饰class,用来创建处理http请求的对象@RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@R......
  • xampp相关配置文件所在路径
    环境:Xampp3.2.4一般来讲,可以在xampp的控制面板打开先关的配置文件,但是出现有些问题的时候,还是需要到别的路径下找到相关配置文件修改才行。Xampp的配置文件propertie......
  • 【AI】相关高效率工具
    1、beautiful.ai官网:https://www.beautiful.ai/概述:如果大家觉得自己制作PPT特别头疼,而且网上的模板都要收费,那么这个国外的黑科技网站绝对适合你。不得不说,国外的很多网......
  • 10.4类和对象的相关知识
    classFruits:discount=0.8#类变量,静态变量#当所有的变量都用到同一个属性的时候,我们定义一个类变量def__init__(self,name,price):self.nam......
  • 关于VLAN的相关知识回顾
    前情提要1、什么是vlan?2、vlan技术中有哪些东西?3、平常有做过哪些实验?4、…………算了吧,我基础不扎实,扯不动了/(ㄒoㄒ)/~~论在被人问到VLAN相关的知识的时候,该怎么扯......
  • vm 缓存相关参数配置
    一、脏数据相关参数:文件缓存是一项重要的性能改进,在大多数情况下,读缓存在绝大多数情况下是有益无害的(程序可以直接从RAM中读取数据)。写缓存比较复杂,Linux内核将磁盘写入缓......
  • 微信相关接口调用
    1.HttpUtil--接口调用工具类publicclassHttpUtil{privatestaticfinalintTIMEOUT_IN_MILLIONS=30000;privatestaticfinalStringCONN="con......
  • UNI-APP终端及相关命令
    UNI-APP编辑软件HBuilderX自带终端,可以执行npm等命令。一、如何打开终端:  二、常用终端命令:1、查看当前项目所有已安装包或插件npm list -g--dept0 2、......