使用Katana OAuthAuthorizationServer刷新令牌的生命周期

时间:2013-10-16 16:44:10

标签: oauth owin katana

从源代码沙箱Webserver,刷新令牌就像这样:

RefreshTokenProvider = new AuthenticationTokenProvider
{
    OnCreate = CreateRefreshToken,
    OnReceive = ReceiveRefreshToken,
}

private void CreateRefreshToken(AuthenticationTokenCreateContext context)
{
    context.SetToken(context.SerializeTicket());
}

private void ReceiveRefreshToken(AuthenticationTokenReceiveContext context)
{
    context.DeserializeTicket(context.Token);
}

这会创建与访问令牌具有相同生命周期的刷新令牌。

刷新令牌的生命周期是什么,以及建议的方式告诉OAuthAuthorizationServer。没有它的选项,我想知道我是否应该在上面的createRefreshToken上下文中更改它。

1 个答案:

答案 0 :(得分:3)

  

刷新令牌的适当生命周期

它全部依赖于用例。 RefreshToken生命周期可以基于应用程序要求。 Google oAuth“刷新令牌在用户撤消访问权限之前有效”。

  

建议的方式告诉OAuthAuthorizationServer。

是的,你是正确的方法。你可以在上下文中将它设置为Tiken。

private void CreateRefreshToken(AuthenticationTokenCreateContext context)
{
    context.Ticket.Properties.ExpiresUtc = new DateTimeOffset(DateTime.Now.AddMonths(2));
    context.SetToken(context.SerializeTicket());
}