当前位置: 首页 > 知识库问答 >
问题:

访问令牌60分钟后过期。需要扩展或刷新令牌,但没有可用的刷新令牌。还有其他方法能让它起作用吗?

百里文景
2023-03-14

共有1个答案

暴绪
2023-03-14

我没有尝试过使用机密客户端应用程序,但是可以像下面这样创建公共客户端应用程序对象:

var pca = PublicClientApplicationBuilder
    .Create(YourAppId)
    .WithAuthority(YourAuthority)
    .WithRedirectUri(YourRedirectUri)
    .Build(); 

该对象可用于请求令牌,它可保存在内存中并用于访问令牌缓存:

AuthenticationResult authResult;
var accounts = await pca.GetAccountsAsync();

if (accounts.Any())
{
    authResult = pca.AcquireTokenSilent(scopes, accounts.First()).ExecuteAsync().Wait());
}
else
{
    authResult = pca.AcquireTokenInteractive(scopes).ExecuteAsync().Wait());
}

如果公共客户端应用程序对象超出范围,则TokenCache将随其一起使用。

 类似资料:
  • 我面临一个问题,以刷新谷歌访问令牌在服务器端。 我从谷歌认证服务器得到的响应只是403状态代码。信息是这样的 仅仅为了刷新访问令牌,在我的服务器上使用SSL是强制性的吗?它已经在我的本地服务器上测试过,没有附加任何SSL到它。

  • 我有一个基于web的应用程序,使用谷歌OAuth2.0作为登录框架。它以前一直工作得很好,直到昨天。访问令牌过期后,applcation无法获取刷新令牌。除此之外,“请求许可”页面已经改为“有离线访问”,而不是“知道你在谷歌上是谁”和“查看你的电子邮件”。 我试图寻找类似的问题,但我找不到一个。这是从昨天开始发生的。在此之前,我从来没有对代码做过任何改变。

  • 我正在尝试使用 NodeJS 构建 RESTful API,但在 api 调用期间无法理解使用令牌对用户进行身份验证的正确方法。在阅读了一些博客和文章后,我想出了这些方法: Access Token(AT)是包含唯一userId作为JWT有效负载的JWT令牌。1天后到期。 刷新令牌(RT)是使用uuid npm包的随机uuid。与用户文档一起存储在数据库中。 过程: 当用户登录/注册服务器发布新A

  • 我不熟悉,它代表。我混淆了它的两个术语:访问令牌和刷新令牌。 用户注册/登录站点后,我创建和。 将刷新标记保存在数据库或cookie中。 15分钟后,用户标记访问令牌过期。 如果用户空闲2小时,我将从cookie或DB中删除刷新令牌,否则我将使用刷新令牌续订访问令牌。 有什么优化的方法可以达到这个目的吗?

  • 我已经阅读了JWT和访问令牌和刷新令牌。我知道您必须在很短的时间(分钟)内设置访问令牌过期,并在过期时使用刷新令牌获取新的访问令牌。 我不清楚三件事: 谁检查访问令牌是否过期?客户端是否通过发送过期的访问令牌和刷新来检查并请求新的访问代码? 谁检查刷新令牌是否过期?(显然刷新令牌也需要过期,尽管需要更长的时间才能过期)。 在我看来,如果刷新令牌过期,则必须提示用户重新登录。在某些情况下(移动应用)

  • 我在这里和这里面临着同样的问题,但他们没有得到回答,我有更多的信息和不同的设置,所以它不会重复。 我有一个Spring boot 1.5.13应用程序,使用带有keycloak 3.4.3服务器的Spring Security适配器。一切正常,但当我在5分钟后向应用程序发出ajax请求而没有重新加载页面时,响应返回401错误。我知道这是因为访问令牌已过期。 文件说明如下: 令牌最短生存时间在密钥斗