Microsoft Oauth2 访问令牌和刷新令牌的存储

时间:2021-04-13 11:15:54

标签: java oauth-2.0 microsoft-graph-api

我有一个问题,我设法获得访问令牌和刷新令牌,允许我从 Microsoft Calendar API 访问用户数据,目前我面临的唯一问题是 Microsoft 是否提供任何安全存储令牌的方法端点端类似于谷歌:

AppEngineDataStoreFactory.class

任何最佳实践或类似建议的解决方案,我都会避免将令牌存储在文件或内存中。

谢谢。

2 个答案:

答案 0 :(得分:0)

对于这种情况,我会推荐 MSAL,这是 Microsoft 的身份验证库,它简化和管理获取、管理、缓存和刷新令牌,并使用最佳实践来提高弹性。使用MSAL时,自动支持token缓存、刷新、静默获取。

这是 Github 上 MSAL for Java 存储库的链接:https://github.com/AzureAD/microsoft-authentication-library-for-java

如果这有帮助,请告诉我。

答案 1 :(得分:0)

以下建议假设您使用 MSAL 获取令牌。

  1. 首先,设计您的应用,使您的 MSAL 令牌缓存符合安全和性能建议:在网络应用中,为每个浏览器会话和帐户使用和存储单独的令牌缓存。即,当您序列化/反序列化令牌缓存时,它应该是仅与该会话相关联的令牌缓存,此外,keyed to the account ID of the logged-in user.

  2. 现在,您可以考虑将令牌缓存保存在何处。对于要使用的数据存储区没有任何硬性规定,因此您可以选择适合您需要的任何内容。

  3. 最后,也是最重要的一点,安全地存储令牌缓存。使用强加密,将存​​储数据的访问权限限制在您的网络应用程序中,并保护您的加密密钥。您可以使用 Azure Key Vault 来获取和存储加密/解密密钥。