04 2019 档案
摘要:JWT令牌使用所谓的 "Epoch或Unix" 时间来表示日期/时间。 IdentityModel包含用于 和`DateTimeOffset`转换到/来自Unix时间的扩展方法: 注意 从.NET Framework 4.6和.NET Core 1.0开始,此功能通过 "DateTimeOffset
阅读全文
摘要:在比较安全上下文中的字符串(例如比较键)时,应尽量避免泄漏时序信息。 该 类可以帮助: 注意 从.NET Core 2.1开始,此功能通过 "CryptographicOperations.FixedTimeEquals" 内置 "github地址"
阅读全文
摘要:JWT令牌使用Base64 URL编码进行序列化。 IdentityModel包括 帮助编码/解码的类: 注意 ASP.NET Core通过 "WebEncoders.Base64UrlEncode" 和 "WebEncoders.Base64UrlDecode" 提供内置支持。 "github地址
阅读全文
摘要:存储X.509证书的常见位置是Windows X.509证书存储区。商店的原始API有点神秘(在.NET Framework和.NET Core之间也略有变化)。 类是一个简化的API从所述存储区加载证书。以下代码从个人计算机存储按名称加载证书: 您可以从计算机或用户存储和 ,`AddressBoo
阅读全文
摘要:该 是创建与查询字符串参数,例如URL的帮手: 作为 方法的参数,您可以传入对象或字符串字典。在这两种情况下,属性/值都将序列化为键/值对。 注意 所有值都将进行URL编码。 在创建用于建模特定于域的URL结构的扩展方法时,它非常有用。有关示例,请参阅 "Authorize Endpoint" .m
阅读全文
摘要:使用OAuth 2.0,OpenID Connect和声明时,声明类型和protocoal值有很多“魔术字符串”。IdentityModel提供了几个常量字符串类来帮助它。 10.1 OAuth 2.0和OpenID Connect协议值 本 类有补助的类型,参数名称,错误名称等所有的值 10.2
阅读全文
摘要:"OAuth 2.0设备流" 设备授权的客户端库是作为 扩展方法提供的。 以下代码发送设备授权请求: 响应属于 类型并具有标准响应参数的属性。您还可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查IsError属性以确保请求成功: "github地址
阅读全文
摘要:"OpenID Connect动态客户端注册" 的客户端库是作为 扩展方法提供的。 以下代码发送注册请求: 注意 RegistrationRequest类已经强类型用于所有标准登记参数性质如由规范定义。如果要添加自定义参数,建议从此类派生并添加自己的属性。 响应属于 类型并具有标准响应参数的属性。您
阅读全文
摘要:OAuth 2.0令牌撤销的客户端库是作为扩展方法提供的HttpClient。 以下代码撤消撤销端点处的访问令牌令牌: 响应属于 类型使您可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查 属性以确保请求成功: "github地址"
阅读全文
摘要:OpenID Connect UserInfo端点的客户端库是作为扩展 方法提供的。 以下代码将访问令牌发送到UserInfo端点: 响应属于 类型并具有标准响应参数的属性。您还可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查IsError属性以确
阅读全文
摘要:"OAuth 2.0令牌自省" 的客户端库是作为 扩展方法提供的。 以下代码将引用令牌发送到内省端点: 响应属于 类型并具有标准响应参数的属性。您还可以访问原始响应以及解析的JSON文档(通过 和`Json`属性)。 在使用响应之前,您应该始终检查 属性以确保请求成功: "github地址"
阅读全文
摘要:令牌端点的客户端库( "OAuth 2.0" 和 "OpenID Connect" )作为 一组扩展方法提供。这允许 以您喜欢的方式创建和管理生命周期 例如静态或通过像Microsoft这样的工厂 。 4.1 请求令牌 调用主扩展方法 它直接支持标准参数,如客户端ID /机密(或断言)和授权类型,但
阅读全文
摘要:该 "RequestUrl" 类可用于构造URL发送到OpenID Connect EndSession endpoint。 该 扩展方法支持最常用的参数: 注意 该 参数可以是一个串字典或任意其它类型的具有属性。在这两种情况下,值都将序列化为键/值。 "github地址"
阅读全文
摘要:对于大多数情况, "OAuth 2.0" 和 "OpenID Connect" 授权端点的GET请求需要具有许多查询字符串参数。 虽然您可以使用任何方法创建带参数的URL来创建正确的字符串,但 "RequestUrl" 类是完成此任务的简单帮助程序。 特别是,您可以使用 扩展方法为授权端点创建URL
阅读全文
摘要:"OpenID Connect发现端点" 的客户端库作为httpclient的扩展方法提供。该 方法返回一个 对象,该对象具有发现文档的各种元素的强类型和弱类型访问器。 在访问文档内容之前,应始终检查 和`Error`属性。 例: 可以使用以下属性访问标准元素: 自定义元素(或标准属性未涵盖的元素)
阅读全文
摘要:IdentityModel是基于声明的身份,OAuth 2.0和OpenID Connect的.NET标准帮助程序库。 它具有以下高级功能: 标准OAuth 2.0和OpenID Connect端点的客户端库,如授权,令牌,发现,内省,撤销等。 令牌管理的助手 标准JWT声明类型和协议值的常量 用于
阅读全文
摘要:"欢迎使用IdentityModel文档!" 第一部分 协议客户端库 "第1章 发现端点(Discovery Endpoint)" "第2章 授权端点(Authorize Endpoint)" "第3章 结束会话端点(EndSession Point)" "第4章 令牌端点(Token Endpoi
阅读全文
摘要:第65章 博客帖子 65.1 团队帖子 65.1.1 2019 "IdentityServer中的范围和声明设计" "尝试使用IdentityServer4的设备流程" "OAuth2中隐含流的状态" "另一种保护SPA的方法(使用ASP.NET Core,OpenID Connect,OAuth
阅读全文
摘要:第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] 现代应用程序的
阅读全文
摘要:以下是一些在线,远程和课堂培训选项,以了解有关ASP.NET Core Identity和IdentityServer4的更多信息。 64.1 现代应用程序的身份和访问控制(使用ASP.NET Core 2和IdentityServer4) 这是我们为期三天的旗舰课程(包括广泛的实践实验室),我们作
阅读全文
摘要:提供了基于ASP.NET身份的实现,用于管理IdentityServer用户的身份数据库。此实现是IdentityServer中的扩展点,以便为用户加载身份数据以将声明发送到令牌。 这个支持的仓储位于 "此处" ,NuGet包就在 "这里" 。 要使用此库,请正常配置ASP.NET Identity
阅读全文
摘要:设置将在发现文档和已颁发的JWT令牌中显示的颁发者名称。建议不要设置此属性,该属性从客户端使用的主机名中推断颁发者名称。 此服务器实例的来源,例如。如果未设置,则从请求推断出原始名称。 61.1 端点(Endpoints) 允许启用/禁用各个端点,例如令牌,授权,用户信息等。 默认情况下,所有端点都
阅读全文
摘要:为IdentityServer中的配置和操作数据扩展点提供了基于EntityFramework的实现。EntityFramework的使用允许任何EF支持的数据库与此库一起使用。 这个库的仓库位于 "这里" ,NuGet包就在 "这里" 。 此库提供的功能分为两个主要区域:配置存储和操作存储支持。根
阅读全文
摘要:该 接口旨在提供用户界面用于在设备流授权期间与IdentityServer通信的服务。它可以从依赖注入系统获得,通常作为构造函数参数注入到IdentityServer的用户界面的MVC控制器中。 60.1 IDeviceFlowInteractionService的APIs 基于 返回 传递给登录或
阅读全文
摘要:`IIdentityServerInteractionService`接口旨在提供用户界面用于与IdentityServer通信的服务,主要与用户交互有关。它可以从依赖注入系统获得,通常作为构造函数参数注入到IdentityServer的用户界面的MVC控制器中。 59.1 IIdentitySer
阅读全文
摘要:IdentityServer通常在创建令牌或处理对userinfo或内省端点的请求时需要有关用户的身份信息。默认情况下,IdentityServer仅具有身份验证cookie中的声明,以便为此身份数据进行绘制。 将用户所需的所有可能声明放入cookie中是不切实际的,因此IdentityServer
阅读全文
摘要:该 模型的OpenID Connect或OAuth 2.0 客户端 例如,本地应用,Web应用程序或基于JS的应用程序。 56.1 Basics 指定是否启用客户端。默认为true。 客户端的唯一ID 客户端机密列表 访问令牌端点的凭据。 指定此客户端是否需要密钥才能从令牌端点请求令牌(默认为 )
阅读全文
摘要:该 类模型补助确认为扩展授权和资源所有者密码授权的结果。 最常见的用法是使用身份验证(成功用例): ...或使用错误和描述(失败用例): 在这两种情况下,您都可以传递将包含在令牌响应中的其他自定义值。 "github地址"
阅读全文
摘要:此类建模API资源。 指示此资源是否已启用且可以请求。默认为true。 API的唯一名称。此值用于内省身份验证,并将添加到传出访问令牌的受众。 该值可以在例如同意屏幕上使用。 该值可以在例如同意屏幕上使用。 API密钥用于内省端点。API可以使用API名称和密钥进行内省验证。 应包含在访问令牌中
阅读全文
摘要:结束会话端点可用于触发单点注销(请参阅 "规范" )。 要使用结束会话端点,客户端应用程序会将用户的浏览器重定向到结束会话URL。用户在会话期间通过浏览器登录的所有应用程序都可以参与注销。 注意 终端会话端点的URL可通过 "发现端点(discovery endpoint)" 获得。 53.1 Pa
阅读全文
摘要:此类为身份资源建模。 指示此资源是否已启用且可以请求。默认为true。 标识资源的唯一名称。这是客户端将用于授权请求中的scope参数的值。 该值将用于例如同意屏幕上。 该值将用于例如同意屏幕上。 指定用户是否可以在同意屏幕上取消选择范围(如果同意屏幕要实现此类功能)。默认为false。 指定同意屏
阅读全文
摘要:此端点允许撤消访问令牌(仅限引用令牌)和刷新令牌。它实现了令牌撤销规范( "RFC 7009" )。 要撤销的令牌(必填) 或`refresh_token`(可选) 示例 注意 您可以使用 "IdentityModel" 客户端库以编程方式从.NET代码访问吊销端点。有关更多信息,请查看Identi
阅读全文
摘要:内省端点是 "RFC 7662" 的实现。 它可用于验证引用令牌(如果消费者不支持适当的JWT或加密库,则可以使用JWT)。内省端点需要身份验证 因为内省端点的客户端是API,您可以在其上配置秘密 。 示例 成功的响应将返回状态代码200以及活动或非活动令牌: 未知或过期的令牌将被标记为无效: 无效
阅读全文
摘要:设备授权端点可用于请求设备和用户代码。此端点用于启动设备流授权过程。 注意 终端会话端点的URL可通过 "发现端点" .md)获得。 客户标识符(必填) 客户端密钥可以在帖子正文中,也可以作为基本身份验证标头。可选的。 一个或多个注册范围。如果未指定,将发出所有明确允许范围的标记。 示例 (为了便于
阅读全文
摘要:UserInfo端点可用于检索有关用户的身份信息(请参阅 "规范" )。 调用者需要发送代表用户的有效访问令牌。根据授予的范围,UserInfo端点将返回映射的声明(至少需要 openid 作用域)。 示例 注意 您可以使用 "IdentityModel" 客户端库以编程方式从.NET代码访问use
阅读全文
摘要:令牌端点可用于以编程方式请求令牌。它支持 ,`authorization_code client_credentials refresh_token urn:ietf:params:oauth:grant type:device_code`的类型。此外,可以扩展令牌端点以支持扩展授权类型。 注意 I
阅读全文
摘要:授权端点可用于通过浏览器请求令牌或授权码。此过程通常涉及最终用户的身份验证和可选的同意。 注意 IdentityServer支持OpenID Connect和OAuth 2.0授权请求参数的子集。有关完整列表,请参见 "此处" 。 客户的标识符(必填)。 一个或多个注册范围(必填) 必须与该客户端允
阅读全文
摘要:发现端点可用于检索有关IdentityServer的元数据 它返回发布者名称,密钥材料,支持的范围等信息。有关详细信息,请参阅 "规范" 。 发现端点可通过 /.well known/openid configuration 相对于基地址获得,例如: 注意 您可以使用 "IdentityModel"
阅读全文
摘要:该 是为IdentityServer编写扩展代码时,你可能需要有效的内部工具的集合。要使用它,请将其注入代码,例如控制器: 该 方法允许使用IdentityServer令牌创建引擎创建JWT令牌。这 是为服务器到服务器通信创建令牌的简单版本(例如,当您必须从代码中调用受IdentityServer保
阅读全文
摘要:除了对OpenID Connect和OAuth 2.0的内置支持之外,IdentityServer4还允许添加对其他协议的支持。 您可以将这些附加协议端点添加为中间件或使用例如MVC控制器。在这两种情况下,您都可以访问ASP.NET Core DI系统,该系统允许重用我们的内部服务,例如访问客户端定
阅读全文
摘要:您可以向托管IdentityServer4的应用程序添加更多API端点。 您通常希望通过它们所托管的IdentityServer实例来保护这些API。这不是问题。只需将令牌验证处理程序添加到主机(请参阅 "此处" ): 在您的API上,您需要添加 属性并显式引用您要使用的身份验证方案(在此示例中 ,
阅读全文
摘要:可以在 https://baseaddress/.well known/openid configuration 找到发现文档。它包含有关IdentityServer的端点,密钥材料和功能的信息。 默认情况下,所有信息都包含在发现文档中,但通过使用配置选项,您可以隐藏各个部分,例如: 42.1扩展发
阅读全文
摘要:第41章 CORS IdentityServer中的许多端点将通过基于JavaScript的客户端的Ajax调用进行访问。鉴于IdentityServer最有可能托管在与这些客户端不同的源上,这意味着需要配置 "跨源资源共享" (CORS)。 41.1 基于客户端的CORS配置 配置CORS的一种方
阅读全文
摘要:您可以在令牌端点处将自定义代码作为令牌颁发管道的一部分运行。这允许例如 添加额外的验证逻辑 动态地改变某些参数(例如令牌生存期) 为此,实现(并注册) 接口: 上下文对象使您可以访问: 添加自定义响应参数 返回错误和错误说明 修改请求参数,例如访问令牌生存期和类型,客户端声明和确认方法 您可以使用配
阅读全文
摘要:访问令牌有两种形式 自包含或引用。 JWT令牌将是一个自包含的访问令牌 它是一个带有声明和过期的受保护数据结构。一旦API了解了密钥材料,它就可以验证自包含的令牌,而无需与发行者进行通信。这使得JWT难以撤销。它们将一直有效,直到它们过期。 使用引用令牌时 IdentityServer会将令牌的内容
阅读全文
摘要:第38章 刷新令牌 由于访问令牌的生命周期有限,因此刷新令牌允许在没有用户交互的情况下请求新的访问令牌。 以下流程支持刷新令牌:授权代码,混合和资源所有者密码凭据流。需要明确授权客户端通过设置 来请求刷新令牌 。 38.1 其他客户端设置 刷新令牌的最长生命周期(秒)。默认为2592000秒/ 30
阅读全文
摘要:如果要使用OAuth 2.0资源所有者密码凭据授权(aka ),则需要实现并注册 接口: 在上下文中,您将找到已解析的协议参数,如UserName和Password,以及原始请求,如果您想查看其他输入数据。 然后,您的工作是实施密码验证并相应地设置 上下文。请参阅 "GrantValidationR
阅读全文
摘要:OAuth 2.0为令牌端点定义了标准授权类型,例如 ,`authorization_code refresh_token`。扩展授权是一种添加对非标准令牌颁发方案(如令牌转换,委派或自定义凭据)的支持的方法。 您可以通过实现 r接口添加对其他授权类型的支持: 该 对象使您可以访问: 传入令牌请求
阅读全文
摘要:在某些情况下,客户端需要使用身份服务器进行身份验证,例如 在令牌端点请求令牌的机密应用程序(也称为客户端) API在内省端点验证引用令牌 为此,您可以将秘密列表分配给客户端或API资源。 秘密解析和验证是身份服务器中的可扩展点,开箱即用它支持共享机密以及通过基本身份验证头或POST主体传输共享机密。
阅读全文
摘要:授权类型是指定客户端如何与IdentityServer交互的方式。OpenID Connect和OAuth2.0规范定义了以下授权类型: Implicit Authorization code Hybrid Client credentials Resource owner password Dev
阅读全文
摘要:IdentityServer依赖于几个加密机制来完成它的工作。 33.1 令牌签名和验证 IdentityServer需要非对称密钥对来签署和验证JWT。此密钥对可以是证书/私钥组合或原始RSA密钥。无论如何,它必须支持带有SHA256的RSA。 加载签名密钥和相应的验证部分是通过实现 和`IVal
阅读全文
摘要:日志记录是更低级别的“printf”样式 事件代表有关IdentityServer中某些操作的更高级别信息。事件是结构化数据,包括事件ID,成功/失败信息,类别和详细信息。这使得查询和分析它们变得容易,并提取可用于进一步处理的有用信息。 活动适用于 "ELK" , "Seq" 或 "Splunk"
阅读全文
摘要:IdentityServer使用ASP.NET Core提供的标准日志记录工具。Microsoft "文档" 有一个很好的介绍和内置日志记录提供程序的描述。 我们大致遵循Microsoft使用日志级别的指导原则: 仅供开发人员解决问题的信息。这些消息可能包含敏感的应用程序数据(如令牌),不应在生产环
阅读全文
摘要:您的身份服务器只是一个标准的ASP.NET Core应用程序,包括IdentityServer中间件。首先阅读有关发布和部署的官方Microsoft "文档" (尤其是有关负载平衡器和代理的 "部分" )。 30.1 典型架构 通常,您将设计IdentityServer部署以实现高可用性: Iden
阅读全文
摘要:IdentityServer 默认以 "JWT" (JSON Web令牌)格式发出访问令牌。 今天的每个相关平台都支持验证JWT令牌, "这里" 可以找到一个很好的JWT库列表。热门库例如: ASP.NET Core的 "JWT bearer authentication handler" Kata
阅读全文
摘要:在授权请求期间,如果IdentityServer需要用户同意,则浏览器将被重定向到同意页面。 同意用于允许最终用户授予客户端对资源(身份或API)的访问权限。这通常仅对第三方客户端是必需的,并且可以在客户端设置上按客户端启用/禁用。 28.1 确认页 为了让用户同意,托管应用程序必须提供同意页面。该
阅读全文
摘要:通用架构是所谓的联合网关。在此方法中,IdentityServer充当一个或多个外部身份提供商的网关。 该架构具有以下优点: 您的应用程序只需要了解一个令牌服务(网关),并且屏蔽了有关连接到外部提供程序的所有详细信息。这也意味着您可以添加或更改这些外部提供程序,而无需更新您的应用程序。 您控制网关(
阅读全文
摘要:联合注销是指用户使用外部身份提供程序登录IdentityServer,然后用户通过IdentityServer未知的工作流程注销该外部身份提供程序的情况。当用户注销时,对IdentityServer进行通知将非常有用,这样它就可以将用户从IdentityServer和使用IdentityServer
阅读全文
摘要:当用户 "注销" IdentityServer并且他们使用 "外部身份提供程序" 登录时,可能会将其重定向到注销外部提供程序。并非所有外部提供商都支持注销,因为它取决于它们支持的协议和功能。 要检测是否必须将用户重定向到外部身份提供程序以进行注销通常是通过使用 在IdentityServer中发布到
阅读全文
摘要:注销IdentityServer就像删除身份验证cookie一样简单,但是为了完成联合注销,我们必须考虑将用户从客户端应用程序(甚至可能是上游身份提供者)中签名。 24.1 删除认证 要删除身份验证cookie,只需使用 扩展方法 即可。您需要传递使用的方案( 除非您已更改,否则提供此方案): 或者
阅读全文
摘要:在支持的平台上,您可以使用IdentityServer使用Windows身份验证对用户进行身份验证(例如,针对Active Directory)。当前使用以下命令托管IdentityServer时,Windows身份验证可用: "Kestrel" 在Windows上使用IIS和IIS集成包 Wind
阅读全文
摘要:ASP\.NET Core有一种灵活的方式来处理外部身份验证。这涉及几个步骤。 注意 如果您使用的是ASP\.NET Identity,则会隐藏许多基础技术细节。建议您还阅读Microsoft "文档" 并执行ASP\.NET Identity "快速入门" 。 22.1 为外部提供者添加身份验证处
阅读全文
摘要:为了使IdentityServer能够代表用户发出令牌,该用户必须登录IdentityServer。 21.1 Cookie身份验证 使用由ASP\.NET Core中的cookie身份验证处理程序管理的cookie来跟踪身份验证。 IdentityServer注册了两个cookie处理程序(一个用
阅读全文
摘要:客户端表示可以从您的身份服务器请求令牌的应用程序。 详细信息各不相同,但您通常会为客户端定义以下常用设置: 唯一的客户ID 如果需要的秘密 允许与令牌服务的交互(称为授权类型) 身份和/或访问令牌发送到的网络位置(称为重定向URI) 允许客户端访问的范围列表(也称为资源) 注意 在运行时,通过实现来
阅读全文
摘要:您通常在系统中定义的第一件事是您要保护的资源。这可能是您的用户的身份信息,如个人资料数据或电子邮件地址,或访问API。 注意 您可以使用C 对象模型定义资源 或从数据存储加载它们。 的一个实现处理这些低级细节。对于本文档,我们使用内存实现。 19.1 定义身份资源 身份资源是用户的用户ID,名称或电
阅读全文
摘要:IdentityServer是中间件和服务的组合。所有配置都在您的启动类中完成。 18.1 配置服务 您可以通过调用以下方法将IdentityServer服务添加到DI系统: 您可以选择将选项传入此调用。有关选项的详细信息,请参见 "此" 这将返回一个构建器对象,该构建器对象又有许多方便的方法来连接
阅读全文
摘要:IdentityServer组织不维护这些示例。IdentityServer组织愉快地链接到社区模板,但不能对模板做出任何保证。请直接与作者联系。 17.1 各种ASP.NET核心安全样本 17.2 IdentityServer4 EF和ASP.NET Identity "此示例" 结合了EF和AS
阅读全文
摘要:注意 对于任何先决条件(例如模板),首先要查看概述。 IdentityServer旨在提供灵活性,其中一部分允许您为用户及其数据(包括账户密码)使用所需的任何数据库。如果您从新的用户数据库开始,那么ASP.NET Identity是您可以选择的一个选项。本快速入门显示了如何在IdentityServ
阅读全文
摘要:IdentityServer旨在实现可扩展性,其中一个可扩展点是用于IdentityServer所需数据的存储机制。本快速入门展示了如何配置IdentityServer以使用EntityFramework Core(EF)作为此数据的存储机制(而不是使用我们迄今为止使用的内存中实现)。 注意 除了手
阅读全文
摘要:本快速入门将展示如何构建基于浏览器的JavaScript客户端应用程序(有时称为“ SPA ”)。 用户将登录IdentityServer,使用IdentityServer发出的访问令牌调用Web API,并注销IdentityServer。所有这些都将来自浏览器中运行的JavaScript。
阅读全文
摘要:在之前的快速入门中,我们探讨了API访问和用户身份验证。现在我们想把这两个部分放在一起。 OpenID Connect和OAuth 2.0组合的优点在于,您可以使用单个协议和使用令牌服务进行单次交换来实现这两者。 在之前的快速入门中,我们使用了OpenID Connect隐式流程。在隐式流程中,所有
阅读全文
摘要:注意 对于任何先决条件(例如模板),首先要 "查看" 概述。 接下来,我们将添加对外部认证的支持。这非常简单,因为您真正需要的是ASP.NET Core兼容的身份验证处理程序。 ASP.NET Core本身支持Google,Facebook,Twitter,Microsoft Account和Ope
阅读全文
摘要:在本快速入门中,我们希望通过 OpenID Connect 协议向我们的IdentityServer添加对交互式用户身份验证的支持。 一旦到位,我们将创建一个将使用IdentityServer进行身份验证的MVC应用程序。 11.1 添加 IdentityServer 内置了 OpenID Conn
阅读全文
摘要:OAuth 2.0资源所有者密码授权 允许客户端向令牌服务发送用户名和密码,并获取代表该用户的访问令牌。 除了无法承载浏览器的旧应用程序之外,规范通常建议不要使用资源所有者密码授予。一般来说,当您要对用户进行身份验证并请求访问令牌时,使用其中一个交互式 OpenID Connect 流程通常要好得多
阅读全文
摘要:快速入门介绍了使用IdentityServer保护API的最基本方案。 我们将定义一个API和一个想要访问它的客户端。 客户端将通过提供 在IdentityServer请求访问令牌, 充当客户端和IdentityServer都知道的秘密,并且它将使用该令牌来访问API。 9.1设置ASP.NET核心
阅读全文
摘要:快速入门提供了各种常见IdentityServer方案的分步说明。他们从基础到复杂 建议您按顺序完成它们。 将IdentityServer添加到ASP\.NET Core应用程序 配置IdentityServer 为各种客户发放令牌 保护Web应用程序和API 添加对基于EntityFramewor
阅读全文
摘要:我们对社区贡献非常开放,但您应该遵循一些指导原则,以便我们可以毫不费力地处理这个问题。 7.1 如何贡献? 最简单的方法是打开一个问题并开始讨论。然后我们可以决定是否以及如何实现功能或更改。如果您应提交包含更改代码的pull请求,请从描述开始,仅进行最小的更改并提供涵盖这些更改的测试。 首先阅读:
阅读全文
摘要:您可以使用您喜欢的客户端库尝试IdentityServer4。我们在 "demo.identityserver.io" 上有一个测试实例。在主页面上,您可以找到有关如何配置客户端以及如何调用API的说明。 此外,我们还有一个repo,可以运行各种IdentityServer和Web API组合(Id
阅读全文
摘要:我们为IdentityServer提供了多种免费和商业支持和咨询选项。 5.1 免费支持 免费支持是基于社区的,并使用公共论坛 5.1.1 StackOverflow StackOverflow 社区里日益增多的 IdentityServer 用户在监视着上面的问题。如果时间允许,我们也会试着尽可能
阅读全文
摘要:IdentityServer由许多nuget包组成。 4.1 IdentityServer4 "nuget" | "github" 上 包含核心IdentityServer对象模型,服务和中间件。仅包含对内存配置和用户存储的支持 但您可以通过配置插入对其他存储的支持。这是其他仓库和程序包相关的内容。
阅读全文
摘要:"欢迎来到IdentityServer4" 第一部分 简介 "第1章 背景" "第2章 术语" "第3章 支持和规范" "第4章 打包和构建" "第5章 支持和咨询选项" "第6章 演示服务器和测试" "第7章 贡献" 第二部分 快速入门 "第8章 概述" "第9章 使用客户端凭据保护API" "第
阅读全文
摘要:IdentityServer实现以下规范: 3.1 OpenID Connect OpenID Connect Core 1.0 ( "规范" ) OpenID Connect Discovery 1.0 ( "规范" ) OpenID Connect Session Management 1.0
阅读全文
摘要:规范、文档和对象模型等都使用特定的术语来表述。 2.1 IdentityServer IdentityServer是OpenID Connect提供程序 它实现OpenID Connect和OAuth 2.0协议。 对于相同的角色,不同的文献将使用不同的术语 —— 你可能也发现了安全令牌服务(Sec
阅读全文
摘要:大多数现代应用程序或多或少看起来像这样: 最常见的互动是: 浏览器与Web应用程序通信 Web应用程序与Web API进行通信(Web应用程序自身 或 代表用户 与 Web API 通信) 基于浏览器的应用程序与Web API通信 本地应用程序与Web API通信 基于服务器的应用程序与Web AP
阅读全文
摘要:欢迎来到IdentityServer4 欢迎IdentityServer4 IdentityServer4是ASP.NET Core 2的OpenID Connect和OAuth 2.0框架。 它可以在您的应用程序中启用以下功能: 身份验证服务 适用于所有应用程序(Web,本机,移动设备,服务)的集
阅读全文

浙公网安备 33010602011771号