我们希望我们的客户能够使用个人或工作帐户进行身份验证。我们在Azure中设置了一个单独的AD,邀请客户访问该AD,该客户应授予他们对我们应用程序的访问权限。
在ASP.NET Core应用程序https://login.microsoftonline.com/{myTenantID}/v2.0
中用作身份验证终结点。该请求提供了通过门户在预览应用程序注册中注册的应用程序的客户端ID和机密。对我们的工作帐户进行身份验证的过程很顺利,但是在尝试对大多数个人帐户进行身份验证时,会返回错误消息:An error was encountered while handling the remote login. AADSTS50020: MSA guest token redemption attempt on v2 common endpoint.
是否不能使用特定于租户的端点(仅/common
)对MSA进行身份验证?
[此外,此评论指出,在多租户应用中对MSA进行身份验证将不起作用,但是,我们的应为单租户:https://github.com/Azure-Samples/active-directory-dotnet-webapp-roleclaims/issues/10#issuecomment-145125080
如果要使用v2终结点同时针对B2C和B2B定位工作和个人电子邮件,以便能够调用受Azure AD保护的终结点,则需要使用公共终结点。