2013-10-16 65 views
0

從源代碼沙箱Web服務器終身刷新令牌,刷新令牌做這樣的:與武士刀OAuthAuthorizationServer

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的建議方式。 Theres沒有選擇它,我想知道是否應該在上面的createRefreshToken的上下文中更改它。

回答

3

什麼是令牌

其所有依賴於用例刷新適當的壽命。 RefreshToken生存期可以基於應用程序要求。谷歌oAuth的「刷新令牌有效,直到用戶撤銷訪問」。

什麼是建議的方式告訴OAuthAuthorizationServer。

是的,你是正確的做法。你可以在上下文中將其設置爲Tiken。

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

好。謝謝。如果我想像谷歌那樣做,直到被撤銷爲止。我只需將該邏輯添加到CreateRefreshToken中? –

+0

是的,您需要維護這些令牌表以驗證其使用期限附加到用戶,並允許用戶撤銷。您可以保留撤銷的記錄或僅在撤銷時刪除它。 – jd4u