IdentityServer旨在实现可扩展性,其中一个可扩展点是用于IdentityServer所需数据的存储机制.本快速入门展示了如何配置IdentityServer以使用EntityFramework Core(EF)作为此数据的存储机制(而不是使用我们迄今为止使用的内存中实现). 注意 除了手动配置EF支持外,还有一个IdentityServer模板可用于创建具有EF支持的新项目.使用创建它.有关更多信息,请参见此处dotnet new is4ef 15.1 IdentityServer4…
IdentityServer依赖于几个加密机制来完成它的工作. 33.1 令牌签名和验证 IdentityServer需要非对称密钥对来签署和验证JWT.此密钥对可以是证书/私钥组合或原始RSA密钥.无论如何,它必须支持带有SHA256的RSA. 加载签名密钥和相应的验证部分是通过实现ISigningCredentialStore和IValidationKeysStore来完成的.如果要自定义加载密钥,可以实现这些接口并将其注册到DI. DI构建器扩展有几种方便的方法来设置签名和验证密钥 - 请…
在本快速入门中,我们希望通过OpenID Connect协议向我们的IdentityServer添加对交互式用户身份验证的支持. 一旦到位,我们将创建一个将使用IdentityServer进行身份验证的MVC应用程序. 11.1 添加 IdentityServer 内置了 OpenID Connect 需要的所有协议支持.你需要提供必需的 UI 部分,包括 登录.注销.授权确认以及错误页. 因为在每个 IdentityServer 的实现中,视觉.感觉以及实际工作流可能总是有所不同的,所以我们提…
IdentityServer由许多nuget包组成. 4.1 IdentityServer4 nuget | github上 包含核心IdentityServer对象模型,服务和中间件.仅包含对内存配置和用户存储的支持 - 但您可以通过配置插入对其他存储的支持.这是其他仓库和程序包相关的内容. 4.2 Quickstart UI github上 包含一个简单的入门UI,包括登录,注销和授权确认页面. 4.3 Access token validation handler nuget | gith…
为IdentityServer中的配置和操作数据扩展点提供了基于EntityFramework的实现.EntityFramework的使用允许任何EF支持的数据库与此库一起使用. 这个库的仓库位于这里,NuGet包就在这里. 此库提供的功能分为两个主要区域:配置存储和操作存储支持.根据托管应用程序的需要,这两个不同的区域可以独立使用或一起使用. 62.1 配置存储支持客户端,资源和CORS设置 如果希望从EF支持的数据库加载客户端,标识资源,API资源或CORS数据(而不是使用内存配置),则可以…
注意 对于任何先决条件(例如模板),首先要查看概述. IdentityServer旨在提供灵活性,其中一部分允许您为用户及其数据(包括账户密码)使用所需的任何数据库.如果您从新的用户数据库开始,那么ASP.NET Identity是您可以选择的一个选项.本快速入门显示了如何在IdentityServer中使用ASP.NET Identity. 本快速入门使用ASP.NET Identity的方法是为IdentityServer Host创建一个新项目.这个新项目将取代我们在之前的快速入门中构建的…
第65章 博客帖子 65.1 团队帖子 65.1.1 2019 IdentityServer中的范围和声明设计 尝试使用IdentityServer4的设备流程 OAuth2中隐含流的状态 另一种保护SPA的方法(使用ASP.NET Core,OpenID Connect,OAuth 2.0和ProxyKit ASP.NET核心中的自动OAuth 2.0令牌管理 加密IdentityServer4中的身份令牌 65.1.2 2018 IdentityServer4更新 IdentityServe…
IdentityServer使用ASP.NET Core提供的标准日志记录工具.Microsoft文档有一个很好的介绍和内置日志记录提供程序的描述. 我们大致遵循Microsoft使用日志级别的指导原则: Trace仅供开发人员解决问题的信息.这些消息可能包含敏感的应用程序数据(如令牌),不应在生产环境中启用. Debug遵循内部流程并理解为何做出某些决定.在开发和调试过程中具有短期实用性. Information用于跟踪应用程序的一般流程.这些日志通常具有一些长期价值. Warning对于应用…
IdentityServer是中间件和服务的组合.所有配置都在您的启动类中完成. 18.1 配置服务 您可以通过调用以下方法将IdentityServer服务添加到DI系统: public void ConfigureServices(IServiceCollection services) { var builder = services.AddIdentityServer(); } 您可以选择将选项传入此调用.有关选项的详细信息,请参见此 这将返回一个构建器对象,该构建器对象又有许多方便的方…
本快速入门将展示如何构建基于浏览器的JavaScript客户端应用程序(有时称为" SPA "). 用户将登录IdentityServer,使用IdentityServer发出的访问令牌调用We​​b API,并注销IdentityServer.所有这些都将来自浏览器中运行的JavaScript. 14.1 JavaScript客户端的新项目 为JavaScript应用程序创建一个新项目.它可以只是一个空的Web项目,一个空的ASP.NET Core应用程序,或者像Node.js应用程…