随笔分类 - IdentityServer4
摘要:报错如图: 最后根据查阅的资料发现是 Samesite Cookie 的问题,解决方案如下: 1.直接把 Url 设置为 https 这是最简单的做法,ASP.NET Core 对于开发时启用 https 已经做得非常好了,直接在 launchSettings.json 里设置 applicatio
阅读全文
摘要:一.前言 IdentityServer4 4.x已经正式发布了,根据官方的 Release Note,3.1.x 到 4.x 的变更也是非常多,今天在将代码迁移到 4.x 遇到了一些问题在此记录下来,我使用的 IdentityServer4 的各种数据持久化,比如 ClientStore,Resou
阅读全文
摘要:AddIdentityServerAuthentication 是 IdentityServer 官方封装的用于认证的方法,接入 ASP.NET Core 的认证机制,包含在组件 IdentityServer4.AccessTokenValidation 中。 在 ASP.NET Core 早期,1
阅读全文
摘要:1.问题说明 在 IdentityServer4 Web 授权中,一般会有一个显示客户端需要获取用户的那些信息的页面,询问用户是否同意: 在这个页面如果我们点击“No, Do Not Allow”,那么默认情况下我们会得到一个错误: 2.解决 我们在配置OIDC登录时,设置一下远程失败的事件,如下图
阅读全文
摘要:一.前言 我们在实际使用 IdentityServer4 的时候,可能会在使用 IdentityServer4 项目添加一些API,比如 找回密码、用户注册、修改用户资料等,这些API与IdentityServer4怎么共存在一个项目呢? 二.整合 1.首先在 中添加 IdentityServer4
阅读全文
摘要:一.前言 本文为 "系列" 补坑之作,拖了许久决定先把坑填完。 下文演示所用代码采用的 IdentityServer4 版本为 2.3.0,由于时间推移可能以后的版本会有一些改动,请参考查看,文末附上Demo代码。 本文所诉Token如无特殊说明皆为 JWT。 众所周知 JWT Token 由三部分
阅读全文
摘要:一.前言 众所周知,IdentityServer4 默认支持两种类型的 Token,一种是 Reference Token,一种是 JWT Token 。前者的特点是 Token 的有效与否是由 Token 颁发服务集中化控制的,颁发的时候会持久化 Token,然后每次验证都需要将 Token 传递
阅读全文
摘要:一. 前言 关于必须使用HTTPS这个问题,很多朋友都在群里问到了,不过由于这个问题很简单,一直也没通过文章的方式记录下来,今日有时间,便说说它的前因后果吧,给需要的人解惑~。 二. 问题发生 本文所使用代码为 IdentityServer4 的 QuickStart2 的源代码,文末会给出下载地址
阅读全文
摘要:开局一张图,内容全靠看。如有不明白的地方可在评论里说出,后面我再加上。
阅读全文
摘要:一.前言 IdentityServer4实战这个系列主要介绍一些在IdentityServer4(后文称:ids4),在实际使用过程中容易出现的问题,以及使用技巧,不定期更新,谢谢大家关注。 这些问题、技巧都是博主在将IdentityServer4用于实际生产环境的经验总结 。 目录 " 1 基于角
阅读全文
摘要:一.前言 IdentityServer4实战这个系列主要介绍一些在IdentityServer4(后文称:ids4),在实际使用过程中容易出现的问题,以及使用技巧,不定期更新,谢谢大家关注。使用过ids4的朋友应该知道,可以通过设置 属性,来控制AccessToken的存活时间,但是细心的朋友可能会
阅读全文
摘要:一.前言 大家好,许久没有更新博客了,最近从重庆来到了成都,换了个工作环境,前面都比较忙没有什么时间,这次趁着清明假期有时间,又可以分享一些知识给大家。在QQ群里有许多人都问过IdentityServer4怎么用Role(角色)来控制权限呢?还有关于Claim这个是什么呢?下面我带大家一起来揭开它的
阅读全文
摘要:注销IdentityServer与删除身份cookie一样简单,但是我们必须考虑将用户从客户端应用程序(甚至可能是上游身份提供程序)中注销。 一.删除身份认证Cookie 要删除身证认证cookie,只需在 的扩展方法 即可。你需要传递一个值 ,如果你修改了他,那么使用你自定义的值。 或者 通常,你
阅读全文
摘要:在Windows平台上,你可以让IdentityServer使用 Windows身份验证 对用户进行身份验证。 当你使用以下类型托管运行 IdentityServer 时, Windows身份验证功能可用: 使用Kestrel服务器但需要使用IIS integration或者IIS 使用HTTP.s
阅读全文
摘要:ASP.NET Core 有一个灵活的方式来处理外部认证,有如下几个步骤: 如果你使用了 ASP.NET Identity,ASP.NET Identity 对于许多底层代码都做了封装, 建议阅读Microsoft文档并查看ASP.NET Identity快速入门源码,以此来充分了解 ASP.NET
阅读全文
摘要:用户必须进行登录,才能够让 IdentityServer 发出 Token 一.Cookie认证 使用 ASP.NET Core 的 Cookie 认证( "传送门" ) IdentityServer 注册了两个cookie处理程序(一个用于身份验证会话,另一个用于临时的外部cookie)。 它们默
阅读全文
摘要:客户端指可以从你的 identityserver 请求令牌的应用程序。 细节可能有所不同,但是客户端通常有以下设置 一个唯一的客户端ID 一个密钥(非必须) 允许与令牌服务的交互(称为授权类型) 身份或访问令牌被发送到的url(称为重定向URI) 允许客户端访问的Scope列表(API资源) 在运行
阅读全文
摘要:您通常在系统设计中的第一件事就是您要保护的资源。 这可能是您的用户的身份信息,如个人资料数据或电子邮件地址,或访问API。 您可以使用C#对象模型定义资源(硬编码),或从数据存储中加载它们。 的实现处理这些低级细节。 本文使用的是in memory的实现。 定义身份资源 身份资源也是数据,如用户ID
阅读全文
摘要:启动 IdentityServer的启动是中间件和服务的组合来实现的。 所有配置都在你的启动类(Startup.cs)中完成。 配置服务 通过以下方式调用将IdentityServer服务添加到DI系统: 这将返回一个生成器对象,而这个对象又有一些方便的方法来连接其他的服务。 密钥 添加一个签名密钥
阅读全文
摘要:这些示例不由IdentityServer团队维护。 IdentityServer团队提供链接到了社区示例,但不能对示例做任何保证。 如有问题,请直接与作者联系。 各种ASP.NET Core安全示例 https://github.com/leastprivilege/AspNetCoreSecuri
阅读全文