Web API 已拒绝为此请求授权

Posted 落日夕阳红

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Web API 已拒绝为此请求授权相关的知识,希望对你有一定的参考价值。

原理

1、注册账号 http://localhost:59345/api/Account/Register

{
"Email": "XXX@qq.com",
"Password": "***",
"ConfirmPassword": "***"
}

 

2、获取Token http://localhost:59345/Token

Content-Type:application/x-www-form-urlencoded  

grant_type:password

username:XXX@qq.com

password:***

工具

 

代码

private string GetToken(string host)
{

        var client = new RestClient(host);

        var request = new RestRequest("/token", Method.POST);

        request.AddParameter("grant_type", "password");

        request.AddParameter("userName", "用户名");

        request.AddParameter("password", "密码");

        //request.AddHeader("Authorization", Convert.ToBase64String(Encoding.ASCII.GetBytes(clientId + ":" + clientSecret)));

        var response = client.Execute(request);

        var s = JObject.Parse(response.Content)["access_token"].Value<string>();

        return s;

}

 3、传入Token

// If we already have a bearer token, set the Authorization header.
var token = sessionStorage.getItem(tokenKey);
var headers = {};
if (token) {
    headers.Authorization = \'Bearer \' + token;
}

$.ajax({
    type: \'GET\',
    url: \'api/values/1\',
    headers: headers
}).done(function (data) {
    self.result(data);
}).fail(showError);

 

参考资料:

http://www.codes51.com/itwd/3700437.html

https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/individual-accounts-in-web-api

 

以上是关于Web API 已拒绝为此请求授权的主要内容,如果未能解决你的问题,请参考以下文章

如何在 web api Authentication Failed 场景中获取详细错误而不是“消息”:“此请求的授权已被拒绝。”?

Azure AD 与 Web API 的不记名令牌身份验证无法正常工作并抛出错误,因为“此请求的授权已被拒绝”。

当授权标题存在时,邮递员拒绝工作[关闭]

API Guide(十四)之Permissions

如何修复 roblox api 请求中被拒绝的授权! [Node.js] [Roblox]

向 web api 发送 ajax 请求时出现 401 Unauthorized