【发布时间】:2019-10-07 01:17:31
【问题描述】:
使用 Microsoft.IdentityModel.Clients.ActiveDirectory(2.22.302111727) 我正在尝试通过 ADAL AcquireToken(resourceUri, new ClientCredential(clientId,clientSecret) 获取访问令牌和刷新令牌,但我能够获得唯一的访问权限仅令牌,但是当我将同一个应用程序与 AcquireToken(resourceUri, clientId, userCredential) 一起使用并将用户名和密码作为 userCredentials 传递时,我可以获得访问权和刷新令牌。
string resourceUri = "https://graph.microsoft.com";
string clientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxx";
AuthenticationResult token = authContext.AcquireToken(resourceUri, new
ClientCredential(clientId,clientSecret));
string resourceUri = "https://graph.microsoft.com";
string clientId = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
string clientSecret = "xxxxxxxxxxxxxxxxxxxxxxxx";
AuthenticationResult token = authContext.AcquireToken(resourceUri, new
ClientCredential(clientId,clientSecret));
我也尝试过使用 AcquireToken(clientId, resourceUri, new Uri(redirectUri)) 但它给了我错误“AADSTS7000218:请求正文必须包含以下参数:'client_assertion' 或 'client_secret'”,我尝试了 AcquireToken (resourceUri, clientId, 新 Uri(redirectUri), PromptBehavior.RefreshSession ,new UserIdentifier("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx", UserIdentifierType.UniqueId)) 它给了我错误“AADSTS650057: Invalid resource. 客户端已请求访问未在请求中列出的资源客户端应用程序注册中的权限。客户端应用程序 ID:00000003-0000-0000-c000-000000000000(Microsoft Graph)。 请解释错误 AADSTS650057 中此处缺少的确切资源值。
【问题讨论】:
标签: c# oauth-2.0 azure-active-directory adal azure-authentication