当前位置: 首页 > 面试题库 >

OAuth 2.0生成令牌和秘密令牌

尹承业
2023-03-14
问题内容

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


问题答案:

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

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

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

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


 类似资料:
  • 问题内容: 为了生成用于访问我们的API的32个字符的令牌,我们目前使用: 我已经读到,这种方法不是基于密码的安全性,因为它基于系统时钟,这将是一个更好的解决方案,因为它很难预测。 如果是这种情况,等效代码将是什么样? 我猜是这样的,但是我不知道这是否对… 我应该传递给函数什么长度也有意义? 问题答案: 这是正确的解决方案:

  • 我使用Oauth已经有一段时间了,但从来没有完全确定这四个术语之间的区别(以及每个术语的功能)。我经常看到(例如在Twitter公共API中) 消费者秘密: 和 但我从来都不知道他们到底在干什么。我知道Oauth有能力授权应用程序(让它们代表用户行事),但我不理解这四个授权条款之间的关系,希望得到解释。 基本上,我不确定访问令牌或令牌密钥是如何生成的,它们存储在哪里,以及它们之间或与使用者密钥和密

  • https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=your_app_client_id&response_type=code&redirect_uri=https%3a%2f%2flogin.microsoftonline.com%2fcommon%2foauth2%2fnativeclient&res

  • 因此,我尝试在浏览器上使用oauth使用者密钥、密钥、访问令牌和令牌密钥对rest客户端进行API调用,其工作正常,如下所示。 请告知如何在Java中实现这一点? http://imgur.com/AtYVLH5 所有oauth都显示了整个过程,但在第一次保存密钥和令牌后,如何进行API调用是个问题。 提前感谢

  • 问题内容: 我正在尝试使用Elasticsearch来实现自动完成功能,因为我知道该怎么做… 我正在尝试在索引已爬网数据时使用ES的edge_n_grams建立多词(短语)建议。 a 和a 之间有什么区别-我已经阅读了有关这些文档,但仍需要更多了解…。 例如,token_filter是ES用来针对用户输入进行搜索的内容吗?ES用于制作令牌的令牌生成器是吗?什么是代币? ES是否可以使用其中任何一种

  • 我正在使用改型2.0在Android上构建一个Bitbucket REST客户端。 就我而言,OAuth2.0提供了“隐式授权”,当用户在提示下登录到他们的帐户时,它立即向客户机提供访问承载令牌。 承载令牌是可用于访问受保护资源的令牌。任何拥有承载令牌的人与其他拥有承载令牌的人一样,都有权访问受保护的资源。(根据IETF的这份文件) 如果我错了,请纠正我,但我认为使用隐式授权,在用户登录到他们的B