azure - 我似乎从 azure ad 获取了错误的不记名 token ,APM API 未经授权

标签 azure azure-active-directory asp-net-core-spa-services

var authContext = new AuthenticationContext(Constants.AUTHORITY);
            var credential =
                new ClientCredential(Constants.CLIENT_ID, Constants.CLIENT_SECRET);
            var result = (AuthenticationResult)authContext
                .AcquireTokenAsync(Constants.API_ID_URL, credential)
                .Result;
            var token = result.AccessToken;

            return token;

使用上面的代码获取不记名 token ,我得到了错误/不完整的不记名 token 。然后添加到客户端 header 中。

 client.DefaultRequestHeaders.Authorization = new
 AuthenticationHeaderValue("Bearer", token); 
 HttpResponseMessage res = client.GetAsync(urlParameters).Result;  
 response is unauthorized.

最佳答案

token 正确。你的代码看起来也不错。我想到两个可能的原因:

  • 仔细检查您使用的身份是否确实有权访问您尝试访问的服务。
  • 确保您正确调用 API。服务/端点有不同的要求。如果您的调用不正确,您可能会得到类似的信息,假设您在需要时没有提供 API 版本。

如果您提供您收到的完整回复正文以及您提出的完整请求,将会有所帮助。您可以混淆个人数据。

关于azure - 我似乎从 azure ad 获取了错误的不记名 token ,APM API 未经授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54861240/

相关文章:

automapper - 在 AutoMapper 问题中使用 string.Split()

azure - Windows Azure 上的盗链保护

c# - 无法验证 Windows Live 帐户 Windows Azure AD

c# - Microsoft.Azure.ServiceBus 如何获取消息状态

c# - 如何使用 Azure 身份验证获取 Azure Function 中的当前用户身份?

powershell - Azure Active Directory 应用程序和服务主体

reactjs - 如何在开发环境中更改 Create React App 的 PublicPath

angular - ASP.NET Core 2.1 Angular 6.0 SPA 模板 - 用于索引而不是静态页面的 Razor 页面 (cshtml)

azure - 如何实现多个IdentityServer

ASP.Net Azure Web 应用程序身份验证重定向到域而不是本地主机