OWIN OAuth 2.0授权服务器刷新令牌

OWIN OAuth 2.0授权服务器刷新令牌,oauth,owin,Oauth,Owin,我运行此示例应用程序: 下载地点: 在AuthorizationServer项目Startup.Auth.cs文件中,我添加了 AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(1), 里面 app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions { 这样令牌将在1分钟后过期 1分钟后,令牌过期,我尝试刷新令牌,它给出了错误 远程服务器返回错误:(400)请求错

我运行此示例应用程序:

下载地点:

在AuthorizationServer项目Startup.Auth.cs文件中,我添加了

AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(1),
里面

app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions {
这样令牌将在1分钟后过期

1分钟后,令牌过期,我尝试刷新令牌,它给出了错误

远程服务器返回错误:(400)请求错误

我的问题是:


如果令牌过期,是否可以刷新令牌?或者,如果用户试图访问受保护的资源,如何自动刷新过期的令牌?

默认情况下,如果相关身份验证令牌已过期,OWIN将拒绝刷新令牌。下面是一个示例,说明如何覆盖此行为:

public class RefreshTokenProvider : IAuthenticationTokenProvider
{
        public async Task ReceiveAsync(AuthenticationTokenReceiveContext context)
        {
            var ticket = LoadAuthenticationTicketFromDatabase();
            context.DeserializeTicket(ticket);
            context.Ticket.Properties.ExpiresUtc = DateTime.MaxValue;
    }
}

是的,这是可能的。您必须返回带有访问令牌的刷新令牌,客户端将能够使用刷新令牌获取新的访问令牌。有关更多信息,请参见此示例[link](),刷新令牌的用途是什么?难道它不应该让客户端能够在不必再次登录的情况下检索新的访问令牌吗?请原谅,你的回答让我很困惑。