一尘不染

OAuth 2.0生成令牌和秘密令牌

java

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


阅读 256

收藏
2020-12-03

共1个答案

一尘不染

OAuth 2.0
规范并未说明如何生成令牌和秘密令牌。因此,由您决定是使用一些现有的/锚定数据来生成令牌,还是要使用随机序列来生成令牌。唯一的区别是,如果您使用大概已知的数据(例如,用户数据,例如用户名,创建日期等),则可以在需要时随时还原令牌。如果使用随机数据序列,则令牌一旦丢失就无法恢复。

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

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

String keySource = username + creationDate + random;
byte [] tokenByte = new Base64(true).encodeBase64(keySource.getBytes());
String token = new String(tokenByte);
2020-12-03