Azure active directory AAD-所有者密码凭据流

Azure active directory AAD-所有者密码凭据流,azure-active-directory,Azure Active Directory,嗨,我试图通过提供用户名和密码来使用所有者密码凭证流,它给出了以下错误。我使用本机应用程序作为客户端Id UserPasswordCredential credentials = new UserPasswordCredential(_userName, _password); AuthenticationContext authContext = new AuthenticationContext(_authority); var accessToken = await au

嗨,我试图通过提供用户名和密码来使用所有者密码凭证流,它给出了以下错误。我使用本机应用程序作为客户端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。由于我不是租户管理员,如何在用户上下文中同意此应用程序。

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

您可以在Azure portal上看到它:

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

如果权限不需要管理员同意,您只需要使用非管理员帐户通过访问{your tenant}/oauth2/authorize?client_id={client id}&response_type=code&redirect_uri={Reply URL}&resource={您想要访问的资源来进行同意,例如:}&prompt=consent。


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

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

您可以在Azure portal上看到它:

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

如果权限不需要管理员同意,您只需要使用非管理员帐户通过访问{your tenant}/oauth2/authorize?client_id={client id}&response_type=code&redirect_uri={Reply URL}&resource={您想要访问的资源来进行同意,例如:}&prompt=consent。


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

我想管理某些应用程序。假设我想添加一个额外的秘密。我不是房客管理员。然而,如果我允许所有者访问我拥有的服务帐户的少数应用程序,我仍然可以使用密码流进行管理。如果我请求应用程序访问,它将适用于租户中的所有应用程序,这将使我不拥有的大多数应用程序风险更大。租户管理员永远不会给我这个权限。我想管理某些应用程序。假设我想添加一个额外的秘密。我不是房客管理员。然而,如果我允许所有者访问我拥有的服务帐户的少数应用程序,我仍然可以使用密码流进行管理。如果我请求应用程序访问,它将适用于租户中的所有应用程序,这将使我不拥有的大多数应用程序风险更大。租户管理员永远不会给我这个权限。