用于 aspnet-core web api 的基于令牌的身份验证

Posted

技术标签:

【中文标题】用于 aspnet-core web api 的基于令牌的身份验证【英文标题】:Token based auth for aspnet-core web api 【发布时间】:2017-07-01 17:23:59 【问题描述】:

亲爱的,

我关注了https://stormpath.com/blog/token-authentication-asp-net-core 为我的 web api 验证用户 我在调用 api/token 时成功创建了访问令牌

我的问题是 [Authorize] 的使用,虽然已经设置了 HeaderAuthorization 和 HeaderExpries,但授权过滤器没有得到我的用户有一个有效的令牌。

function getValues()

    $.ajax(
        url: "http://localhost:48146/api/values",
        headers:  'Authorization': 'Basic ' + accessToken, Expires: tokenExpires ,
        method: "GET",
        context: document.body,
        success: function (data) 
            alert(data);
        
    );

我是否传递了错误的标题?

【问题讨论】:

【参考方案1】:

根据您遵循的教程,您应该传递不记名授权标头,而不是基本授权标头:

headers: 'Authorization': 'bearer' + accessToken, Expires: tokenExpires ,

【讨论】:

【参考方案2】:

我发现了 2 个问题

    正如@user1336 在标题中所说,我有 theaders: 'Authorization': 'bearer' + accessToken, Expires: tokenExpires , 我必须在app.UseMvc(); 之前在Startup.css 中调用ConfigureAuth(app)

【讨论】:

以上是关于用于 aspnet-core web api 的基于令牌的身份验证的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Asp.net web api 控制器不从 IController 派生

text 实现IHostedService用于实现后台服务,类似while(true)的基类

AspNetCore 2:用于 Web 的 OpenIdConnect Cookie,用于 API 的 JWT Bearer。可能吗?

制作用于我的 iOS 应用程序的 Web 服务器 [关闭]

保护用于进行 Web Api 调用的 API 密钥

Web-API 版本控制不适用于默认版本