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 的不记名令牌身份验证无法正常工作并抛出错误,因为“此请求的授权已被拒绝”。