AAD-所有者密码凭证流

时间:2019-08-21 17:13:32

标签: azure-active-directory

嗨,我正在尝试通过提供用户名和密码来使用所有者密码凭证流,并且给出以下错误。我正在使用本机应用程序作为客户端ID。

 UserPasswordCredential credentials = new UserPasswordCredential(_userName, _password);
    AuthenticationContext authContext = new AuthenticationContext(_authority);
    var accessToken = await authContext.AcquireTokenAsync(_apiResourceId, _clientId, credentials);
    accessToken.AccessToken;

AdalServiceException:AADSTS65001:用户或管理员不同意使用ID为'xxxxxxxx'且名为'nativeclient'的应用程序。发送对此用户和资源的交互式授权请求

我有一个无法使用客户端凭证流的方案。我使用Powershell客户端ID“ 1950a258-227b-4e31-a9cf-717495945fc2”时会丢失什么东西吗?我不是租户管理员,我如何才能在用户的上下文中同意此应用程序。

1 个答案:

答案 0 :(得分:1)

这取决于您添加的权限是否需要管理员同意。

您可以在Azure门户上看到它: permissions

如果权限需要管理员同意,则必须使用管理员帐户通过单击此处的“ {您的租户}的授予管理员同意”来进行同意: enter image description here

如果权限不需要管理员同意,则只需使用非管理员帐户通过访问https://login.microsoftonline.com/ {您的租户} / oauth2 / authorize?client_id = {Client ID}来进行同意。 &response_type = code&redirect_uri = {回复URL}&resource = {您要访问的资源,例如:https://graph.microsoft.com/}&prompt =同意。 user-consent

此外,能否请您提供“我无法使用客户端凭据流的方案”的更多详细信息?