Azure SSO Error: AADSTS50020 when prompt=consent and user is a live account
Azure SSO Error: AADSTS50020 when prompt=consent and user is a live account
我的 Azure ActiveDirectory 上有一个 MUTITENAT 应用程序。我用它来登录我网站上的用户。
重定向用户时,我们没有使用 'prompt' 参数。我们不喜欢这样,因为如果用户已经登录 azure 然后他单击 link:被重定向到 azure,然后自动重定向到我的站点而不接受任何内容。
所以现在,我们希望用户接受权限。所以我们在重定向用户时添加 'prompt=consent' 参数。
问题是现在每个尝试登录的实时帐户都会收到一个 Azure 错误页面,其中包含以下错误消息:
AADSTS50020:身份提供商 'live.com' 的用户帐户 'xxx@outlook.com' 在租户 'XXX' 中不存在,无法访问该租户中的应用程序 'xxx'。需要先在租户中将账号添加为外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。
有关错误和我的实际配置的更多详细信息:
- 我正在使用通用端点调用 api(/common/oauth2/authorize 和 /common/oauth2/token)
- 即使我的租户使用真实帐户,我也尝试登录。它也失败了
- 此外,当我尝试使用 Azure 帐户(无论是在我的租户还是其他租户)登录时,它工作正常(使用代码参数将用户重定向到我的网站)。
仅 v2 端点支持 LiveID。
根据您发布的内容,您达到了 v1 端点。
为了转移到 v2,您需要调用
/common/oauth2/v2.0/authorize
/common/oauth2/v2.0/token
或者,如果您使用元数据端点来发现身份验证端点:
https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
作为使用 v2 端点的一部分,您还需要调整一些其他事项,例如使用范围而不是资源。此外,v2 端点尚不支持所有流。
您可以在 Azure AD App Model V2 documentation 中找到更多信息。
我的 Azure ActiveDirectory 上有一个 MUTITENAT 应用程序。我用它来登录我网站上的用户。
重定向用户时,我们没有使用 'prompt' 参数。我们不喜欢这样,因为如果用户已经登录 azure 然后他单击 link:被重定向到 azure,然后自动重定向到我的站点而不接受任何内容。
所以现在,我们希望用户接受权限。所以我们在重定向用户时添加 'prompt=consent' 参数。
问题是现在每个尝试登录的实时帐户都会收到一个 Azure 错误页面,其中包含以下错误消息:
AADSTS50020:身份提供商 'live.com' 的用户帐户 'xxx@outlook.com' 在租户 'XXX' 中不存在,无法访问该租户中的应用程序 'xxx'。需要先在租户中将账号添加为外部用户。注销并使用不同的 Azure Active Directory 用户帐户重新登录。
有关错误和我的实际配置的更多详细信息:
- 我正在使用通用端点调用 api(/common/oauth2/authorize 和 /common/oauth2/token)
- 即使我的租户使用真实帐户,我也尝试登录。它也失败了
- 此外,当我尝试使用 Azure 帐户(无论是在我的租户还是其他租户)登录时,它工作正常(使用代码参数将用户重定向到我的网站)。
仅 v2 端点支持 LiveID。
根据您发布的内容,您达到了 v1 端点。 为了转移到 v2,您需要调用
/common/oauth2/v2.0/authorize
/common/oauth2/v2.0/token
或者,如果您使用元数据端点来发现身份验证端点:
https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration
作为使用 v2 端点的一部分,您还需要调整一些其他事项,例如使用范围而不是资源。此外,v2 端点尚不支持所有流。
您可以在 Azure AD App Model V2 documentation 中找到更多信息。