我尝试在Azure中创建一个允许用户访问它的Web api。 我不在乎用户是否通过postman,curl或.net控制台应用程序调用api,只要用户可以对AzureAD进行身份验证,保护资源,他应该在。
但是,到目前为止我看到的所有文档都要求我使用AzureAD注册客户端。
所以,我有一个工作示例,但我必须在AzureAD中注册控制台应用程序。
现在,可能有数百或数千名开发人员针对我的API开发应用程序。显然,我不想用AzureAD注册每一个。事实上,我甚至不想知道它们。
我怎么能这样做呢?我关心用户,而不关心客户端应用。 或者这是AzureAD B2C的功能吗?
答案 0 :(得分:0)
现在,可能有数百或数千名开发人员针对我的API开发应用程序。显然,我不想用AzureAD注册每一个。事实上,我甚至不想知道它们。
您只需注册一个应用(网络应用)即可保护网络API。如果您希望不同组织使用Web api,则需要在Azure门户上启用Multi-tenanted
功能。
之后,如果其他开发人员想要使用Web API,他们还需要在他们的租户上注册一个应用程序,并向他们的应用程序授予Web API应用程序。之后,可以获取Web API的访问令牌,并使用访问令牌请求Web API。
有关调用Web API的方案的更多详细信息,您可以参考下面的代码示例:
active-directory-dotnet-webapp-webapi-openidconnect
如果sencario是多租户,您也可以参考下面的文档了解详细信息:
How to sign in any Azure Active Directory (AD) user using the multi-tenant application pattern