webApi 使用Owin 实现Oauth2.0认证,token要如何存入数据库并验证?

zhuang556677 2017-09-23 12:41:32
如题,使用Owin实现OAuth2,生成access_token后如何存入数据库?存入数据库后如何进行验证?
我查了很多资料,很多文章里只是简单的使用ClaimsIdentity,然后再控制器加个Authorize属性,
并未将token持久到数据库或者缓存服务器中,只是将用户信息存在了内存里,当使用nginx等做负载均衡,client肯定是无法正常访问的。我问的可能有点乱,但是希望各位能够解答我的疑问。
...全文
717 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
崩溃的油条 2019-07-02
  • 打赏
  • 举报
回复
自己造一个,我使用的是 加密 + redis实现
正怒月神 2019-07-02
  • 打赏
  • 举报
回复
引用 4 楼 qq271136248 的回复:
自己造一个,我使用的是 加密 + redis实现
的确应该用redis之类的缓存区实现。 毕竟token是要过期的。放数据库,没有什么意义,还增加读写的麻烦。
开拓丿飞 2019-01-25
  • 打赏
  • 举报
回复
楼主解决分布式的问题了吗?
zhuang556677 2017-09-24
  • 打赏
  • 举报
回复
今天查了些资料,发现access token 并不需要做持久化,refresh token才需要,access token 本身包含了用户信息,owin只是将用户信息用machine key加密然后用base64转换了一下。但是当授权服务器和资源服务器不是同一台机器时,需要另外配置。目前在找如何自己用别的加密算法加密和解密accesstoken。
zhuang556677 2017-09-23
  • 打赏
  • 举报
回复
看了很多例子,都是针对单服务器的,没有看到过分布式的方案,很好奇你们是怎么做的,不使用asp.net identity 自己实现一个过滤器吗?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧