首页 > 其他分享 >我对IdentityServer4的初步了解

我对IdentityServer4的初步了解

时间:2023-05-14 14:44:29浏览次数:33  
标签:密匙 系统 认证 初步 token 了解 服务器 is4 IdentityServer4

官网:https://identityserver4.readthedocs.io/en/latest/quickstarts/2_interactive_aspnetcore.html 官网例子:https://github.com/IdentityServer/IdentityServer4/tree/main/samples/Quickstarts is4,我的理解是,独立的用户认证授权框架,为多个不同系统,提供一个公共的认证授权服务,a系统,b系统,c系统都 在 is4服务器上“注册得有策略” ,其中密匙什么的,只有a、b、c系统与is4服务器是知道的,用户访问各人的系统时, 需要先到is4服务器去获得认证,获得了令牌后,带入头部,bearer认证,然后再去访问a b c的后端api。因为 a b c分别与is4之间是信任的,当 a的前端带带着头部认证进入a的后端api后,a系统后端就会验证这个头部是否是is4给的token,如果是伪造的就不行。当然应该不用每次都先要访问is4服务,肯定是可以设置token过期时间的,过期后,再去请求is4服务。其关键就在于,a b c 在 is4 上注册的认证策略,也不叫什么注册,就是互相通个气,几个关键文字只有a b c与is4服务器知道就行了,背后的加密算法,最后算出来的token,只有得到is4的一些关键信息之后才能解析成功。官网的例子里,没有在api端写密匙,而是给的一个is4服务的url地址,应该是api在验证token时,还去请求了这个url的;按我的感觉,直接写上is4上给出的密匙,验证token的时候,不再去访问那个url地址应该是可行的吧,就想JWT认证类似。 或者这个url地址是映射到某个在a服务器的文件的,如果文件存在,就不去访问is4服务器了,然后,token的认证就靠这个文件,依稀记得官网上是提了一下这个文件的。 来个官网的图,就更清楚了。

 

0

a b c 系统之间还能通过is4实现互相登陆,只需要其中一个系统中有注册的用户,比如a系统,在is4上获得了认证后,就可以在 b c系统上登陆了,b c 系统缺少的用户的信息可以通过token传送,实现的时候,就把is4上的用户身份信息保存在各自的系统。设计系统的时候,感觉可以把 a b c 系统 公用的用户信息设计到is4的服务器上。

 

jwt认证和is4 .net core 也有一套接口,jwt和is4分别实现了这样的接口,所以看.net core的代码 这两个东西代码都相似。

最后,我联想到 https协议的加密,网站管理人员在ca机构注册了,给你发个密匙,生成一个公共证书。也是靠个证书,和私匙完成加密的。我浏览器请求网址时,首次访问,会提示安装证书,安装后,访问你的网站,其内容就加密了,我服务器的私匙就可以解密这些信息,也只能是这个密匙能解密。

标签:密匙,系统,认证,初步,token,了解,服务器,is4,IdentityServer4
From: https://www.cnblogs.com/HelloQLQ/p/17399294.html

相关文章

  • c语言的初步认识
    #include<stdio.h>intmain(){printf("hehe\n")return0;}首先看着一组代码,这是c语言最基础的代码,也是在c语言编程学习中最早需要认识的代码。intmain()是一个程序的主函数,也是程序的入口,不能缺少的函数,有且只有能有一个。int是整形的意思,main()前面放一个int指的是main......
  • 中文拼写检查任务方法初步简单总结
    title:中文拼写检查任务方法初步简单总结author:donglukuanabbrlink:498304885date:2023-04-0618:07:05tags:中文拼写检查任务方法初步简单总结(V1)一、任务简述中文拼写检查主要关注与对字或词级别的错误的纠正(并不涉及语法上的错误),任务的初步目标是寻找到出现错误......
  • 通过空间占用和执行计划了解SQL Server的行存储索引
    1索引介绍索引是一种帮助查询语句能够快速定位到数据的一种技术。索引的存储方式有行存储索引、列存储索引和内存优化三种存储方式:行存储索引,使用B+树结构,行存储指的是数据存储格式为堆、聚集索引和内存优化表的表,用于OLTP场景。行存储索引按顺序排列的值列表,每个值都有指向其......
  • HIDS 了解
    1、HIDS(Host-basedIntrusionDetectionSystem)基于主机的入侵检测系统,区别于NIDS(基于网络的入侵检测系统),HIDS专注于系统内部,监测系统的动态行为以及整个系统的状态。HIDS将探头(代理)安装在受保卫系统中,它要求与操作系统内核和服务紧密捆绑在一起,监控各种系统事件,如对内核或API......
  • git初步使用(配合vscode食用)
    #git使用#Git的作用:分布式版本控制系统,不同协作者的版本不会覆盖上传流程:首先建立一个本地的repository,将文件上传到本地,然后再上传到github1.下载vscode和git2.建立一个文件夹(切换到文件夹目录下)gitinit目的:初始化本地库,让本地文件夹成为git库3.设置用户名和和邮箱,提交......
  • 【pytorch】理解张量,了解张量的创建和操作
    深度学习的核心是卷积,卷积的核心是张量(Tensor)理解TensorTensor可以简单理解为是标量、向量、矩阵的高维扩展。你可以把张量看作多维数组,但相较于ndarray,Tensor包含了grad、requires_grad、grad_fn、device等属性,是为服务于神经网络而设计的类型,标量可以看作是零维张量、......
  • 一文深入了解CSRF漏洞
    1.1.定义跨站请求伪造(英语:Cross-siterequestforgery),也被称为one-clickattack或者sessionriding,通常缩写为CSRF或者XSRF,是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨站脚本(XSS)相比,XSS利用的是用户对指定网站的信任,CSRF利用的是网站......
  • 了解Redis过期策略及实现原理
    大约阅读4分钟如果你使用过redis,那你一定知道过期策略这个命令吧,如果让你设计一个过期键接口,你有什么想法?我们在使用redis时,一般会设置一个过期时间,当然也有不设置过期时间的,也就是永久不过期。当我们设置了过期时间,redis是如何判断是否过期,以及根据什么策略来进行删除的。redi......
  • 1分钟了解C语言正确使用字节对齐及#pragma pack的方法
    ​C/C++编译器的缺省字节对齐方式为自然对界。即在缺省情况下,编译器为每一个变量或是数据单元按其自然对界条件分配空间。在结构中,编译器为结构的每个成员按其自然对界(alignment)条件分配空间。各个成员按照它们被声明的顺序在内存中顺序存储(成员之间可能有插入的空字节),第......
  • 实现财富自由的初步规划方案
    先贴一张chatgpt给我的答案:下面的具体的可执行计划:1、提高工作岗位的技能掌握大前端技术栈,掌握iOS和前端技能2、寻找高薪工作学习人工智能的相关知识,并输出文章,争取早日转行到AI行业3、投资技能学习学习相关知识,并逐步实践4、副业每月落地一个新项目5、控制开支与储......