asp.Net   发布时间:2022-04-07  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ASP.NET Web Api:如何使用URL参数传递访问令牌(oAuth 2.0)?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
你有什么想法可以使用,一个access_token生成的默认asp.net web api 2 OAuth 2授权机制,在url参数中。目前,我可以通过发送带有Authorization标题的请求来成功地授权,如下所示:
Accept: application/json
Content-Type: application/json
Authorization: Bearer pADKsjwMv927u...

我想要的是通过URL参数启用授权:@H_696_5@

https://www.domain.com/api/MyController?access_token=pADKsjwMv927u...

解决方法

嗯 – 我同意标题是一个更好的选择 – 但是当然,需要查询字符串的情况。 OAuth2规范也是这样定义的。

无论如何 – 这个功能内置在Katana OAuth2中间件中:@H_696_5@

http://leastprivilege.com/2013/10/31/retrieving-bearer-tokens-from-alternative-locations-in-katanaowin/@H_696_5@

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);
    }
}

接着:@H_696_5@

var options = new JwtBearerAuthenticationOptions
{
    AllowedAudiences = new[] { audience },IssuerSecurityTokenProviders = new[]
        {
            new SymmetricKeyIssuerSecurityTokenProvider(
                issuer,signingKey)
        },Provider = new QueryStringOAuthBearerProvider(“access_token”)
};

大佬总结

以上是大佬教程为你收集整理的ASP.NET Web Api:如何使用URL参数传递访问令牌(oAuth 2.0)?全部内容,希望文章能够帮你解决ASP.NET Web Api:如何使用URL参数传递访问令牌(oAuth 2.0)?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。