Azure 使用个人Microsoft帐户登录到Oauth2 v2失败
我确实使用我的Office365公司帐户在portal.azure.com上注册了一个新应用程序来访问GraphAPI 当身份验证为来自我们自己域(在O365注册的域)的用户工作时,我不断收到来自个人Microsoft帐户(outlook.com或live.com)的用户的错误 我确实将应用程序设置为支持“所有Microsoft帐户用户” 这是清单Azure 使用个人Microsoft帐户登录到Oauth2 v2失败,azure,oauth-2.0,azure-ad-graph-api,Azure,Oauth 2.0,Azure Ad Graph Api,我确实使用我的Office365公司帐户在portal.azure.com上注册了一个新应用程序来访问GraphAPI 当身份验证为来自我们自己域(在O365注册的域)的用户工作时,我不断收到来自个人Microsoft帐户(outlook.com或live.com)的用户的错误 我确实将应用程序设置为支持“所有Microsoft帐户用户” 这是清单 { "id": "valid-uid", "acceptMappedClaims": null, "accessTokenA
{
"id": "valid-uid",
"acceptMappedClaims": null,
"accessTokenAcceptedVersion": 2,
"addIns": [],
"allowPublicClient": null,
"appId": "valid-uid",
"appRoles": [],
"oauth2AllowUrlPathMatching": false,
"createdDateTime": "2019-08-29T13:34:54Z",
"groupMembershipClaims": "All",
"identifierUris": [
"api://app-id"
],
"informationalUrls": {
"termsOfService": null,
"support": null,
"privacy": null,
"marketing": null
},
"keyCredentials": [],
"knownClientApplications": [],
"logoUrl": null,
"logoutUrl": null,
"name": "My Application (DEV2)",
"oauth2AllowIdTokenImplicitFlow": false,
"oauth2AllowImplicitFlow": true,
"oauth2Permissions": [],
"oauth2RequirePostResponse": false,
"optionalClaims": null,
"orgRestrictions": [],
"parentalControlSettings": {
"countriesBlockedForMinors": [],
"legalAgeGroupRule": "Allow"
},
"passwordCredentials": [
{
"customKeyIdentifier": null,
"endDate": "2299-12-30T23:00:00Z",
"keyId": "valid-uid",
"startDate": "2019-08-29T13:40:10.571Z",
"value": null,
"createdOn": "2019-08-29T13:40:11.7033226Z",
"hint": "U18",
"displayName": "Local Client"
}
],
"preAuthorizedApplications": [],
"publisherDomain": "NETORGFT(integer-nr).onmicrosoft.com",
"replyUrlsWithType": [
{
"url": "http://localhost:8080/auth/microsoft/callback",
"type": "Web"
}
],
"requiredResourceAccess": [
{
"resourceAppId": "00000003-0000-0000-c000-000000000000",
"resourceAccess": [
{
"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d",
"type": "Scope"
}
]
}
],
"samlMetadataUrl": null,
"signInUrl": null,
"signInAudience": "AzureADandPersonalMicrosoftAccount",
"tags": [],
"tokenEncryptionKeyId": null
}
这是我尝试使用outlook.com(个人帐户)登录时遇到的错误
---------------错误----------------
登录
抱歉,您登录时遇到问题
AADSTS50020:用户帐户'someemail@outlook.com租户“ourdomain.com”中不存在“from identity provider”live.com,并且无法访问该租户中的应用程序“uid of our app”(我的应用程序(DEV2))。首先需要将该帐户作为外部用户添加到租户中。注销并使用其他Azure Active Directory用户帐户再次登录
尽管已将应用程序配置为“signInAudience”:“AzureADandPersonalMicrosoftAccount”?要解决此问题,您需要将这些Microsoft帐户作为来宾用户添加到Azure广告中
基本上,这些用户正在别处获得身份验证,但为了让他们访问在您的租户(Azure AD)中创建的应用程序,他们需要存在于您的租户中。由于这些用户不存在于您的租户中,因此您会遇到此错误。事实上,这是我自己解决的 如果沿着URL传递租户ID,则清单属性似乎会被忽略
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize
在我发现的文档中,对于企业和个人帐户,您都必须将'common'
作为{tenant}
传递。
https://login.microsoftonline.com/common/oauth2/v2.0/authorize
请求路径中的{tenant}值可用于控制
谁可以登录应用程序。允许的值为
适用于Microsoft帐户和工作或学校帐户common
仅适用于工作或学校账户组织
仅适用于Microsoft帐户, 以及租户标识符,如租户ID或域名消费者
此处的更多信息如何添加所有个人microsoft用户帐户?;)