自定义"generic" OAuth 2.0 持有者身份验证以保护 Web API



我目前正在使用UseWindowsAzureActiveDirectoryBearerAuthentication来保护Web API。这在测试环境使用Azure AD身份时是很好的。

但是,生产环境将使用不同的Auth提供者(OAuth 2兼容)。

我要找的是转换以下Azure AD特定代码:

app.UseWindowsAzureActiveDirectoryBearerAuthentication(
                new WindowsAzureActiveDirectoryBearerAuthenticationOptions
                {
                    Audience = ConfigurationManager.AppSettings["ida:Audience"],
                    Tenant = ConfigurationManager.AppSettings["ida:Tenant"]
                });

到更通用的东西,目前仍将与Azure AD一起工作,但将来很容易为不同的认证提供商配置。例如:

app.UseOAuthBearerAuthentication
            (
                new OAuthBearerAuthenticationOptions()
                {
                    //...
                }
            );

后者如何实现与Azure AD一起工作,并且对于其他OAuth 2兼容的提供商来说也足够"通用"?

Oauth2没有定义访问令牌的格式。Azure AD使用JWT,并通过各种元数据文档发布其坐标,但不能保证其他提供程序也会这样做(事实上,它们大多数时候都不会这样做)。规范还不够详细,不能允许这样的通用组件。

相关内容

  • 没有找到相关文章

最新更新