如何在生成新访问令牌时过期/删除当前访问令牌?

时间:2016-10-17 09:26:56

标签: php oauth oauth-2.0

如何在oAuth 2.0中生成新的访问令牌时撤销/删除/过期已发布的访问令牌?

1 个答案:

答案 0 :(得分:0)

这取决于令牌...该死的,这取决于事物似乎在软件开发中经常出现!

如果你有一个不透明的令牌,理论上只有一些随机数的位是唯一的,因此可以接受假设没有人能够猜到它,那么你需要维护一个过期令牌列表和然后,每当有人试图使用令牌时,您需要检查此黑名单。

另一方面,如果你在谈论通常以漂亮的JWT格式出现的自包含令牌(又名不记名令牌),那么你有不同的选择。你仍然可以使用黑名单方法,所以这是一个。此外,由于这些令牌已签名以防止其中包含的数据被攻击者篡改(请检查Get started with JWT's),因此您还可以更改签名密钥。请记住,在大多数情况下,您将在许多令牌中使用相同的签名密钥,因此第二个选项最终在大多数情况下都不可行。

最后,必须阅读有关此主题的内容:OAuth 2.0 Token Revocation