Owin AAD - 签名验证所需的参数
Owin AAD - required parameters for signature validation
我在玩 webapi 并尝试设置应用程序配置以进行正确的签名验证
WindowsAzureActiveDirectoryBearerAuthenticationOptions
我注意到 MetadataAddress 字段未在几个在线示例和 AAD 身份验证示例中使用:https://github.com/AzureADSamples/NativeClient-WebAPI-MultiTenant-WindowsStore/blob/master/TodoListServiceMT/App_Start/Startup.Auth.cs
当我启动该应用程序时,我注意到在应用程序启动时有一个对 https://login.windows.net/common/federationmetadata/2007-06/federationmetadata.xml 的请求,即使该字段未设置。这是 MetadataAddress 的默认值吗?
- 即使 sts 地址为
令牌不同?
- 自定义 sts 服务如何处理验证?
选项中传入的租户参数足以让中间件确定对应Azure AD租户的元数据文档的位置。在多租户应用程序的情况下,正如您所观察到的那样,该值很常见。在多租户示例中,您可以看到有自定义逻辑接管了颁发者的验证(您称之为 "sts address" - 这更像是一个标识符)。正如您在链接的文件中看到的那样,这些选项通过开关 ValidateIssuer = false
关闭了颁发者验证。如果您查看 https://github.com/AzureADSamples/NativeClient-WebAPI-MultiTenant-WindowsStore/blob/master/TodoListServiceMT/AuthorizationFilters/MTAuthorizeAttribute.cs,您会发现它执行的逻辑旨在将传入令牌中的发行者与受信任发行者列表进行比较。您自己的应用程序可能有不同的业务逻辑来确定是否应该信任传入令牌的颁发者。
我在玩 webapi 并尝试设置应用程序配置以进行正确的签名验证 WindowsAzureActiveDirectoryBearerAuthenticationOptions
我注意到 MetadataAddress 字段未在几个在线示例和 AAD 身份验证示例中使用:https://github.com/AzureADSamples/NativeClient-WebAPI-MultiTenant-WindowsStore/blob/master/TodoListServiceMT/App_Start/Startup.Auth.cs
当我启动该应用程序时,我注意到在应用程序启动时有一个对 https://login.windows.net/common/federationmetadata/2007-06/federationmetadata.xml 的请求,即使该字段未设置。这是 MetadataAddress 的默认值吗?
- 即使 sts 地址为 令牌不同?
- 自定义 sts 服务如何处理验证?
选项中传入的租户参数足以让中间件确定对应Azure AD租户的元数据文档的位置。在多租户应用程序的情况下,正如您所观察到的那样,该值很常见。在多租户示例中,您可以看到有自定义逻辑接管了颁发者的验证(您称之为 "sts address" - 这更像是一个标识符)。正如您在链接的文件中看到的那样,这些选项通过开关 ValidateIssuer = false
关闭了颁发者验证。如果您查看 https://github.com/AzureADSamples/NativeClient-WebAPI-MultiTenant-WindowsStore/blob/master/TodoListServiceMT/AuthorizationFilters/MTAuthorizeAttribute.cs,您会发现它执行的逻辑旨在将传入令牌中的发行者与受信任发行者列表进行比较。您自己的应用程序可能有不同的业务逻辑来确定是否应该信任传入令牌的颁发者。