如果 oauth 是无状态的,谷歌如何销毁 oauth 令牌?
Posted
技术标签:
【中文标题】如果 oauth 是无状态的,谷歌如何销毁 oauth 令牌?【英文标题】:If oauth is stateless how can google destroy oauth token? 【发布时间】:2020-06-19 14:00:33 【问题描述】:我知道 oauth 是如何工作的,在成功通过身份验证后,您使用该 jwt 令牌发出请求。
但问题是我如何跟踪存在多少活动令牌或在令牌过期之前销毁令牌。让我们假设 google 或 github,当您使用 oauth 进行身份验证并且他们为您提供访问令牌时,您也可以在他们的仪表板上跟踪或销毁令牌。所以他们怎么知道我的令牌不再有效。我唯一的方法是他们在授予访问令牌时也建立会话。
但问题是他们必须检查会话是否仍然有效或存在于每个请求中。 如果他们在每个请求上都检查它,那么无状态的意义在哪里?
【问题讨论】:
OAuth2 不必是无状态的或使用 JWT。如果服务提供商有一个列出令牌的仪表板,那么这不是无状态的 - 它们由提供商存储,并且可能在您访问相应资源时进行检查。 【参考方案1】:它是无状态的,并且有没有个会话。 希望撤销令牌的 OAuth 实现使用所有端点都可以访问的令牌撤销列表来执行此操作。
【讨论】:
以上是关于如果 oauth 是无状态的,谷歌如何销毁 oauth 令牌?的主要内容,如果未能解决你的问题,请参考以下文章