Azure AAD -即使配置为允许访问,对Blazor应用程序的跨租户访问仍被拒绝

wswtfjt7  于 2022-12-14  发布在  其他
关注(0)|答案(1)|浏览(244)

我在尝试登录使用Microsoft AAD身份验证的Blazor应用程序时遇到以下错误。我用于登录的帐户是租户之外的组织帐户。当我使用个人live.com帐户时,登录正常。

A user account from identity provider *** does not exist in the tenant.The account needs to be added as an external user in the tenant first. Sign out and sign in again with a different Azure Active Directory user account.

我已使用以下设置允许跨租户访问应用程序

还允许在应用程序注册中进行外部租户访问

hmmo2u0o

hmmo2u0o1#

我尝试在我的环境中重现相同的错误,但得到了如下相同的错误:

当您使用https://login.microsoftonline.com/TenantId/oauth2/v2.0/端点时,其他组织的用户无法访问该应用程序。

若要解决错误,请确保使用**common**终结点,因为应用程序配置为(任何Azure AD目录-多租户)和个人Microsoft帐户:

我使用以下终结点对应用程序进行授权:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize

我尝试登录租户之外的其他组织帐户:

我能够成功登录应用程序,如下所示:

在**appsettings.json**文件中,更新如下参数:

"AzureAd": {  
"Instance" : "https://login.microsoftonline.com/"  
"Domain": "DomainName",  
"ClientId": "ClientID",  
"TenantId": "common" ,  
"callbackpath": "redirecturi"  
}

备注

对于单租户帐户类型,值应为“TenantId
对于多租户帐户类型,值应为“organizations”对于多租户和个人Microsoft帐户类型,值应为“common
如果未向Azure AD应用程序授予管理员同意,则通常会出现错误“组织管理员需要授予访问此应用程序的同意”。
要解决此错误,请在以全局管理员身份登录门户时授予管理员对API权限的同意,如下所示:
x1c4d 1x指令集

相关问题