【发布时间】:2018-08-10 00:50:22
【问题描述】:
我不能将通过密码授予颁发的访问令牌设置为 30 天,是否有任何安全原因?
如果这不是一个坏主意,那么我应该怎么做才能缓解这种情况?例如,
- 它可能被盗,但这与您的密码相同。
- 我可以添加一个 GUI 以允许撤销为缓解 1 而颁发的访问令牌。
- 我可以确保在更改密码后撤销所有之前的访问令牌。
【问题讨论】:
标签: oauth-2.0 doorkeeper
我不能将通过密码授予颁发的访问令牌设置为 30 天,是否有任何安全原因?
如果这不是一个坏主意,那么我应该怎么做才能缓解这种情况?例如,
【问题讨论】:
标签: oauth-2.0 doorkeeper
不建议使用长寿命访问令牌。是的,因为它们可能被盗。
它可能被盗,但这与您的密码相同。
窃取访问令牌比窃取密码更好。这就是 OAuth 2.0 试图解决的问题。通常使用用户密码(例如:- Facebook 和电子邮件帐户的密码相同)。因此,窃取一个具有更多的安全问题。但是窃取访问令牌是不好的。限制其生命周期是降低风险的一种方法。
我可以添加一个 GUI 以允许撤销为缓解 1.
而颁发的访问令牌您可以,但是当您发现这一点时,可能为时已晚。!例如 30 天是很长的时间,恶意方可以获得其范围内的一切。
我可以确保在更改密码后撤销所有之前的访问令牌。
默认情况下必须这样做。!因此,这不是您的方案的解决方案,而是一种标准做法。
解决方案?
使用刷新令牌刷新过期的访问令牌。通常刷新令牌具有较长的生命周期。与访问令牌不同,您将很少使用它,因此如果您安全地存储它,您可以保护它。此外,如果您的客户属于机密类型,那么您可以添加另一层保护。所以短期访问令牌和长期刷新令牌是更好的解决方案。
【讨论】: