随笔分类 -  Identity Server 4 中文文档(v1.0.0)

IdentityServer4 中文文档(v1.0.0) 简介、快速入门、主题、参考、端点、其它
摘要:该 是为IdentityServer编写扩展代码时,你可能需要有效的内部工具的集合。要使用它,请将其注入代码,例如控制器: 该 方法允许使用IdentityServer令牌创建引擎创建JWT令牌。这 是为服务器到服务器通信创建令牌的简单版本(例如,当您必须从代码中调用受IdentityServer保 阅读全文
posted @ 2019-04-28 22:15 ThinkJay 阅读(295) 评论(0) 推荐(0)
摘要:除了对OpenID Connect和OAuth 2.0的内置支持之外,IdentityServer4还允许添加对其他协议的支持。 您可以将这些附加协议端点添加为中间件或使用例如MVC控制器。在这两种情况下,您都可以访问ASP.NET Core DI系统,该系统允许重用我们的内部服务,例如访问客户端定 阅读全文
posted @ 2019-04-28 22:14 ThinkJay 阅读(288) 评论(0) 推荐(0)
摘要:可以在 https://baseaddress/.well known/openid configuration 找到发现文档。它包含有关IdentityServer的端点,密钥材料和功能的信息。 默认情况下,所有信息都包含在发现文档中,但通过使用配置选项,您可以隐藏各个部分,例如: 42.1扩展发 阅读全文
posted @ 2019-04-28 22:12 ThinkJay 阅读(610) 评论(0) 推荐(0)
摘要:第41章 CORS IdentityServer中的许多端点将通过基于JavaScript的客户端的Ajax调用进行访问。鉴于IdentityServer最有可能托管在与这些客户端不同的源上,这意味着需要配置 "跨源资源共享" (CORS)。 41.1 基于客户端的CORS配置 配置CORS的一种方 阅读全文
posted @ 2019-04-28 22:11 ThinkJay 阅读(1179) 评论(0) 推荐(0)
摘要:您可以在令牌端点处将自定义代码作为令牌颁发管道的一部分运行。这允许例如 添加额外的验证逻辑 动态地改变某些参数(例如令牌生存期) 为此,实现(并注册) 接口: 上下文对象使您可以访问: 添加自定义响应参数 返回错误和错误说明 修改请求参数,例如访问令牌生存期和类型,客户端声明和确认方法 您可以使用配 阅读全文
posted @ 2019-04-28 15:31 ThinkJay 阅读(701) 评论(0) 推荐(0)
摘要:访问令牌有两种形式 自包含或引用。 JWT令牌将是一个自包含的访问令牌 它是一个带有声明和过期的受保护数据结构。一旦API了解了密钥材料,它就可以验证自包含的令牌,而无需与发行者进行通信。这使得JWT难以撤销。它们将一直有效,直到它们过期。 使用引用令牌时 IdentityServer会将令牌的内容 阅读全文
posted @ 2019-04-28 15:30 ThinkJay 阅读(434) 评论(0) 推荐(0)
摘要:第38章 刷新令牌 由于访问令牌的生命周期有限,因此刷新令牌允许在没有用户交互的情况下请求新的访问令牌。 以下流程支持刷新令牌:授权代码,混合和资源所有者密码凭据流。需要明确授权客户端通过设置 来请求刷新令牌 。 38.1 其他客户端设置 刷新令牌的最长生命周期(秒)。默认为2592000秒/ 30 阅读全文
posted @ 2019-04-28 15:29 ThinkJay 阅读(910) 评论(0) 推荐(0)
摘要:如果要使用OAuth 2.0资源所有者密码凭据授权(aka ),则需要实现并注册 接口: 在上下文中,您将找到已解析的协议参数,如UserName和Password,以及原始请求,如果您想查看其他输入数据。 然后,您的工作是实施密码验证并相应地设置 上下文。请参阅 "GrantValidationR 阅读全文
posted @ 2019-04-27 21:31 ThinkJay 阅读(897) 评论(0) 推荐(0)
摘要:OAuth 2.0为令牌端点定义了标准授权类型,例如 ,`authorization_code refresh_token`。扩展授权是一种添加对非标准令牌颁发方案(如令牌转换,委派或自定义凭据)的支持的方法。 您可以通过实现 r接口添加对其他授权类型的支持: 该 对象使您可以访问: 传入令牌请求 阅读全文
posted @ 2019-04-27 21:30 ThinkJay 阅读(841) 评论(0) 推荐(0)
摘要:在某些情况下,客户端需要使用身份服务器进行身份验证,例如 在令牌端点请求令牌的机密应用程序(也称为客户端) API在内省端点验证引用令牌 为此,您可以将秘密列表分配给客户端或API资源。 秘密解析和验证是身份服务器中的可扩展点,开箱即用它支持共享机密以及通过基本身份验证头或POST主体传输共享机密。 阅读全文
posted @ 2019-04-27 21:29 ThinkJay 阅读(498) 评论(0) 推荐(0)
摘要:授权类型是指定客户端如何与IdentityServer交互的方式。OpenID Connect和OAuth2.0规范定义了以下授权类型: Implicit Authorization code Hybrid Client credentials Resource owner password Dev 阅读全文
posted @ 2019-04-27 21:28 ThinkJay 阅读(463) 评论(0) 推荐(0)
摘要:IdentityServer依赖于几个加密机制来完成它的工作。 33.1 令牌签名和验证 IdentityServer需要非对称密钥对来签署和验证JWT。此密钥对可以是证书/私钥组合或原始RSA密钥。无论如何,它必须支持带有SHA256的RSA。 加载签名密钥和相应的验证部分是通过实现 和`IVal 阅读全文
posted @ 2019-04-27 21:27 ThinkJay 阅读(439) 评论(0) 推荐(0)
摘要:日志记录是更低级别的“printf”样式 事件代表有关IdentityServer中某些操作的更高级别信息。事件是结构化数据,包括事件ID,成功/失败信息,类别和详细信息。这使得查询和分析它们变得容易,并提取可用于进一步处理的有用信息。 活动适用于 "ELK" , "Seq" 或 "Splunk" 阅读全文
posted @ 2019-04-27 21:25 ThinkJay 阅读(1039) 评论(0) 推荐(0)
摘要:IdentityServer使用ASP.NET Core提供的标准日志记录工具。Microsoft "文档" 有一个很好的介绍和内置日志记录提供程序的描述。 我们大致遵循Microsoft使用日志级别的指导原则: 仅供开发人员解决问题的信息。这些消息可能包含敏感的应用程序数据(如令牌),不应在生产环 阅读全文
posted @ 2019-04-27 21:24 ThinkJay 阅读(372) 评论(0) 推荐(0)
摘要:您的身份服务器只是一个标准的ASP.NET Core应用程序,包括IdentityServer中间件。首先阅读有关发布和部署的官方Microsoft "文档" (尤其是有关负载平衡器和代理的 "部分" )。 30.1 典型架构 通常,您将设计IdentityServer部署以实现高可用性: Iden 阅读全文
posted @ 2019-04-27 21:22 ThinkJay 阅读(520) 评论(0) 推荐(1)
摘要:IdentityServer 默认以 "JWT" (JSON Web令牌)格式发出访问令牌。 今天的每个相关平台都支持验证JWT令牌, "这里" 可以找到一个很好的JWT库列表。热门库例如: ASP.NET Core的 "JWT bearer authentication handler" Kata 阅读全文
posted @ 2019-04-27 21:20 ThinkJay 阅读(571) 评论(0) 推荐(1)
摘要:在授权请求期间,如果IdentityServer需要用户同意,则浏览器将被重定向到同意页面。 同意用于允许最终用户授予客户端对资源(身份或API)的访问权限。这通常仅对第三方客户端是必需的,并且可以在客户端设置上按客户端启用/禁用。 28.1 确认页 为了让用户同意,托管应用程序必须提供同意页面。该 阅读全文
posted @ 2019-04-27 21:19 ThinkJay 阅读(499) 评论(0) 推荐(0)
摘要:通用架构是所谓的联合网关。在此方法中,IdentityServer充当一个或多个外部身份提供商的网关。 该架构具有以下优点: 您的应用程序只需要了解一个令牌服务(网关),并且屏蔽了有关连接到外部提供程序的所有详细信息。这也意味着您可以添加或更改这些外部提供程序,而无需更新您的应用程序。 您控制网关( 阅读全文
posted @ 2019-04-27 17:03 ThinkJay 阅读(537) 评论(0) 推荐(0)
摘要:联合注销是指用户使用外部身份提供程序登录IdentityServer,然后用户通过IdentityServer未知的工作流程注销该外部身份提供程序的情况。当用户注销时,对IdentityServer进行通知将非常有用,这样它就可以将用户从IdentityServer和使用IdentityServer 阅读全文
posted @ 2019-04-27 16:14 ThinkJay 阅读(591) 评论(0) 推荐(0)
摘要:当用户 "注销" IdentityServer并且他们使用 "外部身份提供程序" 登录时,可能会将其重定向到注销外部提供程序。并非所有外部提供商都支持注销,因为它取决于它们支持的协议和功能。 要检测是否必须将用户重定向到外部身份提供程序以进行注销通常是通过使用 在IdentityServer中发布到 阅读全文
posted @ 2019-04-27 16:09 ThinkJay 阅读(382) 评论(0) 推荐(0)