该IdentityServerTools是为IdentityServer编写扩展代码时,你可能需要有效的内部工具的集合.要使用它,请将其注入代码,例如控制器: public MyController(IdentityServerTools tools) { _tools = tools; } 该IssueJwtAsync方法允许使用IdentityServer令牌创建引擎创建JWT令牌.这IssueClientJwtAsync是为服务器到服务器通信创建令牌的简单版本(例如,当您必须从代码中调用受…
IdentityServer是中间件和服务的组合.所有配置都在您的启动类中完成. 18.1 配置服务 您可以通过调用以下方法将IdentityServer服务添加到DI系统: public void ConfigureServices(IServiceCollection services) { var builder = services.AddIdentityServer(); } 您可以选择将选项传入此调用.有关选项的详细信息,请参见此 这将返回一个构建器对象,该构建器对象又有许多方便的方…
第66章 视频 66.1 2019 January [NDC] - 使用ASP.NET Core 2.2和3.0保护Web应用程序和API 1月[NDC] - 为基于OpenID Connect / OAuth 2的系统构建客户端 66.2 2018 26/09 [DevConf] - 现代应用程序的授权 17/01 [NDC伦敦] - ASP.NET Core v2上的IdentityServer v2 - 一个更新 17/01 [NDC London] - 实施Web应用程序和API授权(又…
第41章 CORS IdentityServer中的许多端点将通过基于JavaScript的客户端的Ajax调用进行访问.鉴于IdentityServer最有可能托管在与这些客户端不同的源上,这意味着需要配置跨源资源共享(CORS). 41.1 基于客户端的CORS配置 配置CORS的一种方法是在客户端配置上使用AllowedCorsOrigins该集合.只需将客户端的原点添加到集合中,IdentityServer中的默认配置将查询这些值以允许来自源的跨源调用. 注意 配置CORS时,请务必使用…
IdentityServer使用ASP.NET Core提供的标准日志记录工具.Microsoft文档有一个很好的介绍和内置日志记录提供程序的描述. 我们大致遵循Microsoft使用日志级别的指导原则: Trace仅供开发人员解决问题的信息.这些消息可能包含敏感的应用程序数据(如令牌),不应在生产环境中启用. Debug遵循内部流程并理解为何做出某些决定.在开发和调试过程中具有短期实用性. Information用于跟踪应用程序的一般流程.这些日志通常具有一些长期价值. Warning对于应用…
为了使IdentityServer能够代表用户发出令牌,该用户必须登录IdentityServer. 21.1 Cookie身份验证 使用由ASP.NET Core中的cookie身份验证处理程序管理的cookie来跟踪身份验证. IdentityServer注册了两个cookie处理程序(一个用于身份验证会话,另一个用于临时外部cookie).默认情况下使用它们,如果要手动引用它们,可以从IdentityServerConstants类(DefaultCookieAuthenticationS…
规范.文档和对象模型等都使用特定的术语来表述. 2.1 IdentityServer IdentityServer是OpenID Connect提供程序 - 它实现OpenID Connect和OAuth 2.0协议. 对于相同的角色,不同的文献将使用不同的术语 -- 你可能也发现了安全令牌服务(Security Token Service),身份提供程序(Identity Provider),授权服务器(Authorization Server),IP-STS 等. 但它们完全相同:一种向客户…
以下是一些在线,远程和课堂培训选项,以了解有关ASP.NET Core Identity和IdentityServer4的更多信息. 64.1 现代应用程序的身份和访问控制(使用ASP.NET Core 2和IdentityServer4) 这是我们为期三天的旗舰课程(包括广泛的实践实验室),我们作为会议,现场和远程的一部分提供. 可在此处找到公共培训的议程和日期,请联系我们参加私人研讨会. 64.2 PluralSight课程 PluralSight有一些关于身份,ASP.NET Core和I…
该Client模型的OpenID Connect或OAuth 2.0 客户端-例如,本地应用,Web应用程序或基于JS的应用程序. 56.1 Basics Enabled 指定是否启用客户端.默认为true. ClientId 客户端的唯一ID ClientSecrets 客户端机密列表 - 访问令牌端点的凭据. RequireClientSecret 指定此客户端是否需要密钥才能从令牌端点请求令牌(默认为true) AllowedGrantTypes 指定允许客户端使用的授权类型.使用Gran…
该GrantValidationResult类模型补助确认为扩展授权和资源所有者密码授权的结果. 最常见的用法是使用身份验证(成功用例): context.Result = new GrantValidationResult( subject: "818727", authenticationMethod: "custom", claims: optionalClaims); ...或使用错误和描述(失败用例): context.Result = new Grant…