摘要:
JWT令牌使用所谓的 "Epoch或Unix" 时间来表示日期/时间。 IdentityModel包含用于 和`DateTimeOffset`转换到/来自Unix时间的扩展方法: 注意 从.NET Framework 4.6和.NET Core 1.0开始,此功能通过 "DateTimeOffset 阅读全文
posted @ 2019-04-28 23:15
ThinkJay
阅读(315)
评论(0)
推荐(0)
摘要:
在比较安全上下文中的字符串(例如比较键)时,应尽量避免泄漏时序信息。 该 类可以帮助: 注意 从.NET Core 2.1开始,此功能通过 "CryptographicOperations.FixedTimeEquals" 内置 "github地址" 阅读全文
posted @ 2019-04-28 23:15
ThinkJay
阅读(374)
评论(2)
推荐(1)
摘要:
JWT令牌使用Base64 URL编码进行序列化。 IdentityModel包括 帮助编码/解码的类: 注意 ASP.NET Core通过 "WebEncoders.Base64UrlEncode" 和 "WebEncoders.Base64UrlDecode" 提供内置支持。 "github地址 阅读全文
posted @ 2019-04-28 23:14
ThinkJay
阅读(558)
评论(0)
推荐(0)
摘要:
存储X.509证书的常见位置是Windows X.509证书存储区。商店的原始API有点神秘(在.NET Framework和.NET Core之间也略有变化)。 类是一个简化的API从所述存储区加载证书。以下代码从个人计算机存储按名称加载证书: 您可以从计算机或用户存储和 ,`AddressBoo 阅读全文
posted @ 2019-04-28 23:13
ThinkJay
阅读(412)
评论(0)
推荐(0)
摘要:
该 是创建与查询字符串参数,例如URL的帮手: 作为 方法的参数,您可以传入对象或字符串字典。在这两种情况下,属性/值都将序列化为键/值对。 注意 所有值都将进行URL编码。 在创建用于建模特定于域的URL结构的扩展方法时,它非常有用。有关示例,请参阅 "Authorize Endpoint" .m 阅读全文
posted @ 2019-04-28 23:12
ThinkJay
阅读(348)
评论(0)
推荐(0)
摘要:
使用OAuth 2.0,OpenID Connect和声明时,声明类型和protocoal值有很多“魔术字符串”。IdentityModel提供了几个常量字符串类来帮助它。 10.1 OAuth 2.0和OpenID Connect协议值 本 类有补助的类型,参数名称,错误名称等所有的值 10.2 阅读全文
posted @ 2019-04-28 23:11
ThinkJay
阅读(582)
评论(0)
推荐(0)
摘要:
"OAuth 2.0设备流" 设备授权的客户端库是作为 扩展方法提供的。 以下代码发送设备授权请求: 响应属于 类型并具有标准响应参数的属性。您还可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查IsError属性以确保请求成功: "github地址 阅读全文
posted @ 2019-04-28 23:10
ThinkJay
阅读(541)
评论(0)
推荐(1)
摘要:
"OpenID Connect动态客户端注册" 的客户端库是作为 扩展方法提供的。 以下代码发送注册请求: 注意 RegistrationRequest类已经强类型用于所有标准登记参数性质如由规范定义。如果要添加自定义参数,建议从此类派生并添加自己的属性。 响应属于 类型并具有标准响应参数的属性。您 阅读全文
posted @ 2019-04-28 23:09
ThinkJay
阅读(604)
评论(0)
推荐(0)
摘要:
OAuth 2.0令牌撤销的客户端库是作为扩展方法提供的HttpClient。 以下代码撤消撤销端点处的访问令牌令牌: 响应属于 类型使您可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查 属性以确保请求成功: "github地址" 阅读全文
posted @ 2019-04-28 23:08
ThinkJay
阅读(1309)
评论(0)
推荐(0)
摘要:
OpenID Connect UserInfo端点的客户端库是作为扩展 方法提供的。 以下代码将访问令牌发送到UserInfo端点: 响应属于 类型并具有标准响应参数的属性。您还可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查IsError属性以确 阅读全文
posted @ 2019-04-28 23:08
ThinkJay
阅读(557)
评论(0)
推荐(0)
摘要:
"OAuth 2.0令牌自省" 的客户端库是作为 扩展方法提供的。 以下代码将引用令牌发送到内省端点: 响应属于 类型并具有标准响应参数的属性。您还可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查 属性以确保请求成功: "github地址" 阅读全文
posted @ 2019-04-28 23:07
ThinkJay
阅读(1694)
评论(0)
推荐(0)
摘要:
令牌端点的客户端库( "OAuth 2.0" 和 "OpenID Connect" )作为 一组扩展方法提供。这允许 以您喜欢的方式创建和管理生命周期 例如静态或通过像Microsoft这样的工厂 。 4.1 请求令牌 调用主扩展方法 它直接支持标准参数,如客户端ID /机密(或断言)和授权类型,但 阅读全文
posted @ 2019-04-28 23:06
ThinkJay
阅读(4864)
评论(0)
推荐(0)
摘要:
该 "RequestUrl" 类可用于构造URL发送到OpenID Connect EndSession endpoint。 该 扩展方法支持最常用的参数: 注意 该 参数可以是一个串字典或任意其它类型的具有属性。在这两种情况下,值都将序列化为键/值。 "github地址" 阅读全文
posted @ 2019-04-28 23:05
ThinkJay
阅读(668)
评论(0)
推荐(0)
摘要:
对于大多数情况, "OAuth 2.0" 和 "OpenID Connect" 授权端点的GET请求需要具有许多查询字符串参数。 虽然您可以使用任何方法创建带参数的URL来创建正确的字符串,但 "RequestUrl" 类是完成此任务的简单帮助程序。 特别是,您可以使用 扩展方法为授权端点创建URL 阅读全文
posted @ 2019-04-28 23:04
ThinkJay
阅读(1194)
评论(0)
推荐(0)
摘要:
"OpenID Connect发现端点" 的客户端库作为httpclient的扩展方法提供。该 方法返回一个 对象,该对象具有发现文档的各种元素的强类型和弱类型访问器。 在访问文档内容之前,应始终检查 和`Error`属性。 例: 可以使用以下属性访问标准元素: 自定义元素(或标准属性未涵盖的元素) 阅读全文
posted @ 2019-04-28 23:03
ThinkJay
阅读(2503)
评论(0)
推荐(0)
摘要:
IdentityModel是基于声明的身份,OAuth 2.0和OpenID Connect的.NET标准帮助程序库。 它具有以下高级功能: 标准OAuth 2.0和OpenID Connect端点的客户端库,如授权,令牌,发现,内省,撤销等。 令牌管理的助手 标准JWT声明类型和协议值的常量 用于 阅读全文
posted @ 2019-04-28 23:02
ThinkJay
阅读(2806)
评论(0)
推荐(0)
摘要:
"欢迎使用IdentityModel文档!" 第一部分 协议客户端库 "第1章 发现端点(Discovery Endpoint)" "第2章 授权端点(Authorize Endpoint)" "第3章 结束会话端点(EndSession Point)" "第4章 令牌端点(Token Endpoi 阅读全文
posted @ 2019-04-28 22:59
ThinkJay
阅读(1242)
评论(0)
推荐(0)
摘要:
第65章 博客帖子 65.1 团队帖子 65.1.1 2019 "IdentityServer中的范围和声明设计" "尝试使用IdentityServer4的设备流程" "OAuth2中隐含流的状态" "另一种保护SPA的方法(使用ASP.NET Core,OpenID Connect,OAuth 阅读全文
posted @ 2019-04-28 22:31
ThinkJay
阅读(588)
评论(0)
推荐(0)
摘要:
第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] 现代应用程序的 阅读全文
posted @ 2019-04-28 22:31
ThinkJay
阅读(473)
评论(0)
推荐(0)
摘要:
以下是一些在线,远程和课堂培训选项,以了解有关ASP.NET Core Identity和IdentityServer4的更多信息。 64.1 现代应用程序的身份和访问控制(使用ASP.NET Core 2和IdentityServer4) 这是我们为期三天的旗舰课程(包括广泛的实践实验室),我们作 阅读全文
posted @ 2019-04-28 22:30
ThinkJay
阅读(488)
评论(0)
推荐(0)
摘要:
提供了基于ASP.NET身份的实现,用于管理IdentityServer用户的身份数据库。此实现是IdentityServer中的扩展点,以便为用户加载身份数据以将声明发送到令牌。 这个支持的仓储位于 "此处" ,NuGet包就在 "这里" 。 要使用此库,请正常配置ASP.NET Identity 阅读全文
posted @ 2019-04-28 22:29
ThinkJay
阅读(458)
评论(0)
推荐(1)
摘要:
设置将在发现文档和已颁发的JWT令牌中显示的颁发者名称。建议不要设置此属性,该属性从客户端使用的主机名中推断颁发者名称。 此服务器实例的来源,例如。如果未设置,则从请求推断出原始名称。 61.1 端点(Endpoints) 允许启用/禁用各个端点,例如令牌,授权,用户信息等。 默认情况下,所有端点都 阅读全文
posted @ 2019-04-28 22:28
ThinkJay
阅读(942)
评论(0)
推荐(0)
摘要:
为IdentityServer中的配置和操作数据扩展点提供了基于EntityFramework的实现。EntityFramework的使用允许任何EF支持的数据库与此库一起使用。 这个库的仓库位于 "这里" ,NuGet包就在 "这里" 。 此库提供的功能分为两个主要区域:配置存储和操作存储支持。根 阅读全文
posted @ 2019-04-28 22:28
ThinkJay
阅读(673)
评论(0)
推荐(0)
摘要:
该 接口旨在提供用户界面用于在设备流授权期间与IdentityServer通信的服务。它可以从依赖注入系统获得,通常作为构造函数参数注入到IdentityServer的用户界面的MVC控制器中。 60.1 IDeviceFlowInteractionService的APIs 基于 返回 传递给登录或 阅读全文
posted @ 2019-04-28 22:27
ThinkJay
阅读(514)
评论(0)
推荐(0)
摘要:
`IIdentityServerInteractionService`接口旨在提供用户界面用于与IdentityServer通信的服务,主要与用户交互有关。它可以从依赖注入系统获得,通常作为构造函数参数注入到IdentityServer的用户界面的MVC控制器中。 59.1 IIdentitySer 阅读全文
posted @ 2019-04-28 22:26
ThinkJay
阅读(1200)
评论(0)
推荐(0)
摘要:
IdentityServer通常在创建令牌或处理对userinfo或内省端点的请求时需要有关用户的身份信息。默认情况下,IdentityServer仅具有身份验证cookie中的声明,以便为此身份数据进行绘制。 将用户所需的所有可能声明放入cookie中是不切实际的,因此IdentityServer 阅读全文
posted @ 2019-04-28 22:25
ThinkJay
阅读(567)
评论(0)
推荐(0)
摘要:
该 类模型补助确认为扩展授权和资源所有者密码授权的结果。 最常见的用法是使用身份验证(成功用例): ...或使用错误和描述(失败用例): 在这两种情况下,您都可以传递将包含在令牌响应中的其他自定义值。 "github地址" 阅读全文
posted @ 2019-04-28 22:24
ThinkJay
阅读(622)
评论(0)
推荐(0)
摘要:
该 模型的OpenID Connect或OAuth 2.0 客户端 例如,本地应用,Web应用程序或基于JS的应用程序。 56.1 Basics 指定是否启用客户端。默认为true。 客户端的唯一ID 客户端机密列表 访问令牌端点的凭据。 指定此客户端是否需要密钥才能从令牌端点请求令牌(默认为 ) 阅读全文
posted @ 2019-04-28 22:24
ThinkJay
阅读(1157)
评论(0)
推荐(2)
摘要:
此类建模API资源。 指示此资源是否已启用且可以请求。默认为true。 API的唯一名称。此值用于内省身份验证,并将添加到传出访问令牌的受众。 该值可以在例如同意屏幕上使用。 该值可以在例如同意屏幕上使用。 API密钥用于内省端点。API可以使用API名称和密钥进行内省验证。 应包含在访问令牌中 阅读全文
posted @ 2019-04-28 22:23
ThinkJay
阅读(408)
评论(0)
推荐(0)
摘要:
结束会话端点可用于触发单点注销(请参阅 "规范" )。 要使用结束会话端点,客户端应用程序会将用户的浏览器重定向到结束会话URL。用户在会话期间通过浏览器登录的所有应用程序都可以参与注销。 注意 终端会话端点的URL可通过 "发现端点(discovery endpoint)" 获得。 53.1 Pa 阅读全文
posted @ 2019-04-28 22:22
ThinkJay
阅读(1456)
评论(0)
推荐(0)
摘要:
此类为身份资源建模。 指示此资源是否已启用且可以请求。默认为true。 标识资源的唯一名称。这是客户端将用于授权请求中的scope参数的值。 该值将用于例如同意屏幕上。 该值将用于例如同意屏幕上。 指定用户是否可以在同意屏幕上取消选择范围(如果同意屏幕要实现此类功能)。默认为false。 指定同意屏 阅读全文
posted @ 2019-04-28 22:22
ThinkJay
阅读(325)
评论(0)
推荐(0)
摘要:
此端点允许撤消访问令牌(仅限引用令牌)和刷新令牌。它实现了令牌撤销规范( "RFC 7009" )。 要撤销的令牌(必填) 或`refresh_token`(可选) 示例 注意 您可以使用 "IdentityModel" 客户端库以编程方式从.NET代码访问吊销端点。有关更多信息,请查看Identi 阅读全文
posted @ 2019-04-28 22:21
ThinkJay
阅读(668)
评论(0)
推荐(0)
摘要:
内省端点是 "RFC 7662" 的实现。 它可用于验证引用令牌(如果消费者不支持适当的JWT或加密库,则可以使用JWT)。内省端点需要身份验证 因为内省端点的客户端是API,您可以在其上配置秘密 。 示例 成功的响应将返回状态代码200以及活动或非活动令牌: 未知或过期的令牌将被标记为无效: 无效 阅读全文
posted @ 2019-04-28 22:20
ThinkJay
阅读(983)
评论(0)
推荐(0)
摘要:
设备授权端点可用于请求设备和用户代码。此端点用于启动设备流授权过程。 注意 终端会话端点的URL可通过 "发现端点" .md)获得。 客户标识符(必填) 客户端密钥可以在帖子正文中,也可以作为基本身份验证标头。可选的。 一个或多个注册范围。如果未指定,将发出所有明确允许范围的标记。 示例 (为了便于 阅读全文
posted @ 2019-04-28 22:19
ThinkJay
阅读(472)
评论(0)
推荐(0)
摘要:
令牌端点可用于以编程方式请求令牌。它支持 ,`authorization_code client_credentials refresh_token urn:ietf:params:oauth:grant type:device_code`的类型。此外,可以扩展令牌端点以支持扩展授权类型。 注意 I 阅读全文
posted @ 2019-04-28 22:18
ThinkJay
阅读(779)
评论(0)
推荐(0)
摘要:
UserInfo端点可用于检索有关用户的身份信息(请参阅 "规范" )。 调用者需要发送代表用户的有效访问令牌。根据授予的范围,UserInfo端点将返回映射的声明(至少需要 openid 作用域)。 示例 注意 您可以使用 "IdentityModel" 客户端库以编程方式从.NET代码访问use 阅读全文
posted @ 2019-04-28 22:18
ThinkJay
阅读(715)
评论(0)
推荐(0)
摘要:
授权端点可用于通过浏览器请求令牌或授权码。此过程通常涉及最终用户的身份验证和可选的同意。 注意 IdentityServer支持OpenID Connect和OAuth 2.0授权请求参数的子集。有关完整列表,请参见 "此处" 。 客户的标识符(必填)。 一个或多个注册范围(必填) 必须与该客户端允 阅读全文
posted @ 2019-04-28 22:17
ThinkJay
阅读(741)
评论(0)
推荐(0)
摘要:
发现端点可用于检索有关IdentityServer的元数据 它返回发布者名称,密钥材料,支持的范围等信息。有关详细信息,请参阅 "规范" 。 发现端点可通过 /.well known/openid configuration 相对于基地址获得,例如: 注意 您可以使用 "IdentityModel" 阅读全文
posted @ 2019-04-28 22:16
ThinkJay
阅读(438)
评论(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
阅读(286)
评论(0)
推荐(0)
摘要:
您可以向托管IdentityServer4的应用程序添加更多API端点。 您通常希望通过它们所托管的IdentityServer实例来保护这些API。这不是问题。只需将令牌验证处理程序添加到主机(请参阅 "此处" ): 在您的API上,您需要添加 属性并显式引用您要使用的身份验证方案(在此示例中 , 阅读全文
posted @ 2019-04-28 22:13
ThinkJay
阅读(392)
评论(0)
推荐(0)
摘要:
可以在 https://baseaddress/.well known/openid configuration 找到发现文档。它包含有关IdentityServer的端点,密钥材料和功能的信息。 默认情况下,所有信息都包含在发现文档中,但通过使用配置选项,您可以隐藏各个部分,例如: 42.1扩展发 阅读全文
posted @ 2019-04-28 22:12
ThinkJay
阅读(607)
评论(0)
推荐(0)
摘要:
第41章 CORS IdentityServer中的许多端点将通过基于JavaScript的客户端的Ajax调用进行访问。鉴于IdentityServer最有可能托管在与这些客户端不同的源上,这意味着需要配置 "跨源资源共享" (CORS)。 41.1 基于客户端的CORS配置 配置CORS的一种方 阅读全文
posted @ 2019-04-28 22:11
ThinkJay
阅读(1176)
评论(0)
推荐(0)
摘要:
您可以在令牌端点处将自定义代码作为令牌颁发管道的一部分运行。这允许例如 添加额外的验证逻辑 动态地改变某些参数(例如令牌生存期) 为此,实现(并注册) 接口: 上下文对象使您可以访问: 添加自定义响应参数 返回错误和错误说明 修改请求参数,例如访问令牌生存期和类型,客户端声明和确认方法 您可以使用配 阅读全文
posted @ 2019-04-28 15:31
ThinkJay
阅读(700)
评论(0)
推荐(0)
摘要:
访问令牌有两种形式 自包含或引用。 JWT令牌将是一个自包含的访问令牌 它是一个带有声明和过期的受保护数据结构。一旦API了解了密钥材料,它就可以验证自包含的令牌,而无需与发行者进行通信。这使得JWT难以撤销。它们将一直有效,直到它们过期。 使用引用令牌时 IdentityServer会将令牌的内容 阅读全文
posted @ 2019-04-28 15:30
ThinkJay
阅读(433)
评论(0)
推荐(0)
摘要:
第38章 刷新令牌 由于访问令牌的生命周期有限,因此刷新令牌允许在没有用户交互的情况下请求新的访问令牌。 以下流程支持刷新令牌:授权代码,混合和资源所有者密码凭据流。需要明确授权客户端通过设置 来请求刷新令牌 。 38.1 其他客户端设置 刷新令牌的最长生命周期(秒)。默认为2592000秒/ 30 阅读全文
posted @ 2019-04-28 15:29
ThinkJay
阅读(904)
评论(0)
推荐(0)

浙公网安备 33010602011771号