ASP.NET Web Api:如何使用URL参数传递访问令牌(oAuth 2.0)?
发布时间:2020-12-16 00:46:13 所属栏目:asp.Net 来源:网络整理
导读:你有什么想法可以使用,一个access_token生成的默认asp.net web api 2 OAuth 2授权机制,在url参数中。目前,我可以通过发送带有Authorization标题的请求来成功地授权,如下所示: Accept: application/jsonContent-Type: application/jsonAuthorization: Be
你有什么想法可以使用,一个access_token生成的默认asp.net web api 2 OAuth 2授权机制,在url参数中。目前,我可以通过发送带有Authorization标题的请求来成功地授权,如下所示:
Accept: application/json Content-Type: application/json Authorization: Bearer pADKsjwMv927u... 我想要的是通过URL参数启用授权: https://www.domain.com/api/MyController?access_token=pADKsjwMv927u... 解决方法
嗯 – 我同意标题是一个更好的选择 – 但是当然,需要查询字符串的情况。 OAuth2规范也是这样定义的。
无论如何 – 这个功能内置在Katana OAuth2中间件中: http://leastprivilege.com/2013/10/31/retrieving-bearer-tokens-from-alternative-locations-in-katanaowin/ public class QueryStringOAuthBearerProvider : OAuthBearerAuthenticationProvider { readonly string _name; public QueryStringOAuthBearerProvider(string name) { _name = name; } public override Task RequestToken(OAuthRequestTokenContext context) { var value = context.Request.Query.Get(_name); if (!string.IsNullOrEmpty(value)) { context.Token = value; } return Task.FromResult<object>(null); } } 接着: var options = new JwtBearerAuthenticationOptions { AllowedAudiences = new[] { audience },IssuerSecurityTokenProviders = new[] { new SymmetricKeyIssuerSecurityTokenProvider( issuer,signingKey) },Provider = new QueryStringOAuthBearerProvider(“access_token”) }; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 命名约定 – 控制器的一个规则,没有模型和视
- asp.net – 我可以使用msbuild打包带有发布配置文件的网站并
- asp.net – 安全地将用户从一个ASP .NET应用程序转移到另一
- asp.net-mvc – MVC3验证与实体框架模型/数据库首先
- 无法在asp.net中的webmethod中获取会话
- 如何使用ASP.NET MVC实现站点而不使用Visual Studio?
- asp.net – 双回发问题
- asp.net-mvc – Thunderdome MVC-为什么在MVC中使用one-mod
- asp.net-mvc – 在html5输入模式属性中使用“@”和MVC
- asp.net-mvc – 托管到服务器时,任务或线程无法工作/运行
推荐文章
站长推荐
- ASP.NET使用百度eCharts
- asp.net – 在Web.config更改后程序集不可用
- asp.net-mvc – 如何在ASP.NET MVC的所有操作中安
- asp.net-mvc-4 – 如何使用mvc 4中的bundle删除版
- 我的Asp.Net MVC 3站点中的奇怪错误
- asp.net – 如何访问Global.asax静态成员?
- asp.net-mvc-3 – 我可以将PartialViewResult与P
- asp.net-mvc-routing – @ Url.Action获取?附加
- 单元测试 – 如何在ASP MVC 5(Microsoft.AspNet.
- asp.net – 在不安装的情况下部署Expression Enc
热点阅读