IdentityServer旨在实现可扩展性,其中一个可扩展点是用于IdentityServer所需数据的存储机制.本快速入门展示了如何配置IdentityServer以使用EntityFramework Core(EF)作为此数据的存储机制(而不是使用我们迄今为止使用的内存中实现). 注意 除了手动配置EF支持外,还有一个IdentityServer模板可用于创建具有EF支持的新项目.使用创建它.有关更多信息,请参见此处dotnet new is4ef 15.1 IdentityServer4…
OAuth 2.0资源所有者密码授权允许客户端向令牌服务发送用户名和密码,并获取代表该用户的访问令牌. 除了无法承载浏览器的旧应用程序之外,规范通常建议不要使用资源所有者密码授予.一般来说,当您要对用户进行身份验证并请求访问令牌时,使用其中一个交互式OpenID Connect流程通常要好得多. 然而,这个授权类型允许我们在 IdentityServer 快速入门中引入 用户 的概念,这是我们要展示它的原因. 10.1 添加用户 就像基于内存存储的资源(即 范围 Scopes)和客户端一样,对于…
为IdentityServer中的配置和操作数据扩展点提供了基于EntityFramework的实现.EntityFramework的使用允许任何EF支持的数据库与此库一起使用. 这个库的仓库位于这里,NuGet包就在这里. 此库提供的功能分为两个主要区域:配置存储和操作存储支持.根据托管应用程序的需要,这两个不同的区域可以独立使用或一起使用. 62.1 配置存储支持客户端,资源和CORS设置 如果希望从EF支持的数据库加载客户端,标识资源,API资源或CORS数据(而不是使用内存配置),则可以…
IdentityServer是中间件和服务的组合.所有配置都在您的启动类中完成. 18.1 配置服务 您可以通过调用以下方法将IdentityServer服务添加到DI系统: public void ConfigureServices(IServiceCollection services) { var builder = services.AddIdentityServer(); } 您可以选择将选项传入此调用.有关选项的详细信息,请参见此 这将返回一个构建器对象,该构建器对象又有许多方便的方…
第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保护API的最基本方案. 我们将定义一个API和一个想要访问它的客户端. 客户端将通过提供ClientCredentials在IdentityServer请求访问令牌,ClientCredentials充当客户端和IdentityServer都知道的秘密,并且它将使用该令牌来访问API. 9.1设置ASP.NET核心应用程序 首先为应用程序创建一个目录 - 然后使用我们的模板创建一个包含基本IdentityServer设置的ASP.NET Core应…
规范.文档和对象模型等都使用特定的术语来表述. 2.1 IdentityServer IdentityServer是OpenID Connect提供程序 - 它实现OpenID Connect和OAuth 2.0协议. 对于相同的角色,不同的文献将使用不同的术语 -- 你可能也发现了安全令牌服务(Security Token Service),身份提供程序(Identity Provider),授权服务器(Authorization Server),IP-STS 等. 但它们完全相同:一种向客户…
授权端点可用于通过浏览器请求令牌或授权码.此过程通常涉及最终用户的身份验证和可选的同意. 注意 IdentityServer支持OpenID Connect和OAuth 2.0授权请求参数的子集.有关完整列表,请参见此处. client_id 客户的标识符(必填). scope 一个或多个注册范围(必填) redirect_uri 必须与该客户端允许的重定向URI之一完全匹配(必需) response_type id_token 请求身份令牌(仅允许身份范围) token 请求访问令牌(仅允许资…
OAuth 2.0为令牌端点定义了标准授权类型,例如password,authorization_code和refresh_token.扩展授权是一种添加对非标准令牌颁发方案(如令牌转换,委派或自定义凭据)的支持的方法. 您可以通过实现IExtensionGrantValidator接口添加对其他授权类型的支持: public interface IExtensionGrantValidator { /// <summary> /// Handles the custom grant requ…
IdentityServer使用ASP.NET Core提供的标准日志记录工具.Microsoft文档有一个很好的介绍和内置日志记录提供程序的描述. 我们大致遵循Microsoft使用日志级别的指导原则: Trace仅供开发人员解决问题的信息.这些消息可能包含敏感的应用程序数据(如令牌),不应在生产环境中启用. Debug遵循内部流程并理解为何做出某些决定.在开发和调试过程中具有短期实用性. Information用于跟踪应用程序的一般流程.这些日志通常具有一些长期价值. Warning对于应用…