【发布时间】:2021-05-18 14:10:26
【问题描述】:
我们正在通过电子邮件地址邀请外部人员作为 azure AD 的访客。现在,他们中的一些人拥有一个使用此电子邮件地址的个人和工作帐户。 如果他们将个人帐户与我们的租户关联并尝试连接 python MSAL 库,他们将收到错误。
- 如果他们使用工作帐户密码,他们将收到:'error': 'invalid_grant','error_description':'AADSTS50020:用户帐户 来自身份提供者的“{EmailHidden}” 租户中不存在“https://sts.windows.net/xxx-xx-xx/” 'Contoso' 并且无法访问应用程序 'xxx-xx-xx-xx'(Contoso 应用程序)在该租户中。该帐户需要添加为外部 首先是租户中的用户。退出并使用其他帐户重新登录 Azure Active Directory 用户帐户。'
- 如果他们使用他们的个人帐户密码,他们会得到:'error': 'invalid_grant', 'error_description': 'AADSTS50126: 验证错误 由于用户名或密码无效而导致的凭据。'
我认为,msal 正在将用户电子邮件地址解析为工作帐户并尝试登录该帐户(这将失败) - 而不是有权使用该应用程序的个人帐户。
有没有办法以编程方式解决这个问题?我们目前正在为此使用 ROPC 流程;我知道,这不是推荐的方式。
【问题讨论】:
标签: azure azure-active-directory msal