我已经设置了 Web API 的身份验证,这与此博客几乎相同oauth 刷新令牌 http://bitoftech.net/2014/07/16/enable-oauth-refresh-tokens-angularjs-app-using-asp-net-web-api-2-owin/来自泰瑟·朱德。
它运行得很好,直到我遇到了一个问题:
- 我们有用户A和用户B当前登录到系统。
- 用户 A 作为管理员,从系统中删除用户 B。
- 用户B仍然有访问网络的权限until the token is expired.
我做了一些研究,他们都说撤销访问令牌非常困难(或者在 OAuth 中不可能)。我唯一能做的就是将超时设置得更短。它仍然在我的脑海中出现故障,我不喜欢访问令牌在之后的时间范围内(尽管有限)仍然有效的想法。
那么,是否有更好的方法或任何建议,将不胜感激。
Use the refresh_token
and access_token
因为它们的设计目的是将访问令牌的生命周期缩短到您可以接受的持续时间,并且尽可能低。由于您既是资源服务器又是授权服务器,渐近线意味着您最终将在每次调用时检查用户,正如其他答案中所建议的那样,但是:
使用数据库存储访问令牌很可能会导致缓存令牌以优化性能,在这种情况下,您最终会遇到与刷新令牌相同的情况,其中缓存过时超时相当于访问令牌生存期。
最终你不能鱼与熊掌兼得,所以我建议按照 OAuth 的设计初衷去做。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)