加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-web-api – 如何存储Web API访问令牌?

发布时间:2020-12-16 03:34:59 所属栏目:asp.Net 来源:网络整理
导读:Stackflow中有一些类似的主题,但我发现它们都没有回答我的问题. ASP.NET Web API 2就是我们现在使用的.我现在能够接受来自我的WebAPI的CORS身份验证请求.通过在Authorization标头(Bearer xxx)中发送的访问令牌,我能够访问受[Authorize]标签保护的资源. 问题
Stackflow中有一些类似的主题,但我发现它们都没有回答我的问题.

ASP.NET Web API 2就是我们现在使用的.我现在能够接受来自我的WebAPI的CORS身份验证请求.通过在Authorization标头(Bearer xxx)中发送的访问令牌,我能够访问受[Authorize]标签保护的资源.

问题是,如何在常规登录表单中实现类似于“记住我”复选框的功能?我们想要的是用户下次访问我们的网页时不需要再次登录.仅一个会话的访问令牌? WebAPI2如何设置令牌的到期时间?我们如何在会话中保存一些信息或使用本地存储来存储此类身份验证信息?当我们在客户端存储此令牌时,我们是否需要某种加密来保护它?

你在实施这个“记住我”功能时有什么建议?

解决方法

您的身份验证提供程序应为您提供执行此操作的功能.如果您使用ASP.Net成员资格提供程序,这很简单:

FormsAuthentication.RedirectFromLoginPage(strUserName,true);

上面的“真实”设置了一个持久的cookie.

当您使用CORS并将身份验证cookie发送到WebApi时,WebApi不关心身份验证是来自旧的“记住我”cookie还是来自新登录.它所关心的是Authorization标头中传递的cookie值是有效的.

至于cookie的加密,这也是您的身份验证提供商应该开箱即用的东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读