OAuth2.0加密之前应该是刷新令牌的内容格式是什么?

时间:2016-10-06 07:41:22

标签: oauth-2.0 oauth2

我正在开发OAuth2.0服务器。什么应该是刷新令牌的格式以及应该使用哪种加密算法进行加密?

2 个答案:

答案 0 :(得分:2)

OAuth 2.0不会对令牌格式或加密实施任何限制。在规范中完全忽略了加密,因为通信应该用TLS保护。

此外 - 如果您不必,请不要实施自己。如果您的资金允许,请选择一个开源库甚至是供应商产品。

话虽如此,请查看JWT RFC。这是大多数人使用的格式。您也可以根本不考虑任何格式,只使用不透明的字符串,然后在授权服务器中实现令牌自省。

至于加密 - 任何事情都有。大多数实现支持至少HS256,RS256和ES256用于签署JWT令牌。在大多数现实场景中,您不需要加密令牌,签名就足够了。

答案 1 :(得分:0)

经过一段时间的挣扎,我想通了。有两种方法

  1. 在刷新令牌中放置构建访问令牌所需的所有内容(除了可以直接派生/计算的内容),并使用全局或租户级对称密钥加密

    优点:

    一个。无需存储空间

    湾性能更好,因为不需要与DB联系。它只是解密和创建访问令牌

    问题/缺陷

    一个。没办法跟踪发布的刷新令牌。

    湾无法使发布的刷新令牌无效。

  2. 在DB中存储与刷新令牌相关的属性,并响应OAuth Server,返回加密的刷新令牌ID。可能存储在DB中的属性是

    ID ||到期||令牌数量||主题||客户ID ||自定义属性(如果需要)

  3. 我们已经实现了其他属性,但这必须为想要实现自己的刷新令牌流的人提供一些想法