【发布时间】:2018-10-30 15:46:28
【问题描述】:
我正在尝试根据 OAuth2 规范弄清楚刷新令牌的正确流程和用法,但我完全不知道特定用例应该如何工作。
我的主要问题是,如果我从某个 OAuth 提供商(在本例中为 Google)收到刷新令牌,我有两个问题我不知道如何解决:
- 如何安全地保留刷新令牌,以便它可以用于获取新令牌以保持用户登录?
- 如何确定需要刷新令牌的用户是谁?我不能只拥有一个接收旧令牌或电子邮件地址来发布刷新令牌的端点,因为这看起来非常愚蠢。
Quick image detailing oauth flow I am referring to
我相信我正在错误地考虑一些小的实现细节,我只是不希望我的后端 API 对一些巨大的安全漏洞开放,如果我可以通过询问 StackOverflow 的乐于助人的人这实际上是如何来防止它应该工作。
我应该补充一点,似乎半合理的唯一解决方案是使用某种定时刷新机制,但这将涉及访问前端的刷新令牌,我试图避免这种情况,因为它本身似乎存在安全风险。
我担心这里的最佳实践,所以如果我的整个实现存在缺陷并且我应该使用 X 而不是 Y 或 Z,那么我也愿意接受建议。
感谢您的宝贵时间,
塞斯
【问题讨论】:
-
检查this。
标签: oauth oauth-2.0 google-oauth refresh-token