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

时间:2014-05-21 08:38:31

标签: oauth owin

我运行此示例应用程序:

http://www.asp.net/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server

下载

http://code.msdn.microsoft.com/OWIN-OAuth-20-Authorization-ba2b8783

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

AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(1),

里面

app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions {

这样令牌将在1分钟后过期。

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

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

我的问题是:

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

1 个答案:

答案 0 :(得分:2)

默认情况下,如果相关的身份验证令牌已过期,则OWIN会拒绝刷新令牌。以下是示例,您可以如何覆盖此行为:

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