6

我正在使用 Apache Oltu 框架实现 OAuth 2.0 提供程序服务器,寻找有关如何在 java 中生成访问令牌和秘密令牌的一些想法。请指教。

4

1 回答 1

17

OAuth 2.0规范没有说明如何生成令牌和秘密令牌。因此,您是使用一些现有/锚数据来生成令牌还是要使用随机序列来生成令牌,这取决于您。唯一的区别是,如果您使用可能已知的数据(例如用户数据,如用户名、创建日期等),您可以在需要时随时恢复令牌。如果您使用随机数据序列,那么一旦令牌丢失,您将无法恢复令牌。

换句话说,RFC 不会限制您的生成过程。

我可能会使用用户详细信息数据加上一些随机数据的字符串连接,然后进行 Base64 编码。

String keySource = username + creationDate + random;
byte [] tokenByte = new Base64(true).encodeBase64(keySource.getBytes());
String token = new String(tokenByte);
于 2013-06-17T07:13:17.480 回答