我有一个 AAD 授权应用程序的 headless 登录,该应用程序获取用户凭据并将其传递给 Microsoft 进行授权/身份验证。我关注了this applications design Microsoft provided on GitHub 。
我正在尝试对我的应用程序执行管理员同意,以便用户不会收到提示。我已按照 Microsoft Provided here 的指示进行操作但来自登录的 AdalException 返回以下错误消息,并带有“invalid_grant”错误代码:
AADSTS65001: The user or administrator has not consented to use the application with ID 'GUID' named 'ApplicationName'. Send an interactive authorization request for this user and resource.
当用户或管理员进入 Azure AD 应用程序注册边栏选项卡、所需权限并点击“授予权限”时,单击该按钮的特定人员(无论是否为全局管理员)都将被授予通过登录访问应用程序的权限。正如 Microsoft 指示所暗示的那样,它并未向 Active Directory 中的所有用户授予该权限。
需要使用 headless 登录,因为用户凭据存储在 Windows 凭据管理器中,并且套件中的任何软件都使用相同的凭据,并且最好避免在每个应用程序上进行提示。我不惜一切代价试图阻止用户提示登录超出将其保存到凭据管理器的初始凭据输入。如何为我的所有用户实现 headless 登录?
最佳答案
授权未通过的问题是用户不是全局管理员。 验证单击“授予权限”的用户是否具有管理员权限。否则,有一种方法可以为管理员提示登录生成查询字符串, an example of what to do lives here.
关于.net - Azure AD 通过 headless 登录向自定义开发的应用程序授予权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48912913/