2016-01-15 26 views
0

我已經有了一個使用不記名令牌的API,現在我需要允許api的客戶端可以使用相同的令牌連接api,例如1年。我認爲在API中實現刷新令牌將有可能實現我的目標,但是在原始令牌過期後不可能使用刷新令牌獲取新令牌,並且我認爲這是一種難聞的氣味會增加API中每個令牌的時間即客戶必須選擇是否需要離線令牌。如何使用asp.net web api實現離線令牌

我的API是有可能與已經存在的OAuth 2

回答

0

井的實施的ASP.NET Web API內置2個,我錯了,因爲有可能刷新令牌相同,當原來的令牌已過期,但我們需要確保每個令牌都有您自己的到期日期,並且刷新令牌的到期日期大於認證令牌。

這裏我有一個代碼示例來展示如何設置刷新令牌到期日期。

public async Task CreateAsync(AuthenticationTokenCreateContext context) 
{ 
    var refreshToken = Guid.NewGuid().ToString("n"); 

    context.Ticket.Properties.IssuedUtc = DateTime.UtcNow; 
    context.Ticket.Properties.ExpiresUtc = DateTime.UtcNow.AddYears(1); 

    context.SetToken(refreshToken); 
} 

以上是將刷新令牌過期從現在開始設置爲1年。

相關問題