![](/img/trans.png)
[英]ASP.NET Identity, storing refresh tokens in the UserTokens table
[英]Asp.net OWIN Identity refresh tokens and token expiration
我正在嘗試找到有關在新ASP.net身份框架中使用默認OAuth Bearer令牌提供程序來處理令牌過期和刷新單頁JavaScript應用程序中的令牌的良好指導。 我了解以下內容-
應該指定一個較短的access_token生存期(默認為14天,但最好是5-20分鍾)
您可以指定從IAuthenticationTokenProvider繼承的RefreshTokenProvider
刷新令牌將從OWIN端點添加到OAuth令牌響應中
從理論上講,您現在可以使用Refresh令牌和“ refresh_token”授權類型來請求新令牌
我不明白的是-
將刷新令牌發送回令牌響應中似乎不安全? 如果中間有一個人要攔截,他們將擁有請求新令牌所需的一切。
授予刷新令牌通常與驗證客戶端ID和客戶端密鑰有關。 據我所知,不可能將它們安全地存儲在JS SPA中。
因此,現在我不知道從這里去哪里。我能想到的就是強制我的用戶在令牌到期后注銷並重新登錄,重新發送初始密碼授予。
將刷新令牌發送回令牌響應中似乎不安全? 如果中間有一個人要攔截,他們將擁有請求新令牌所需的一切。
SSL
授予刷新令牌通常與驗證客戶端ID和客戶端密鑰有關。 據我所知,不可能將它們安全地存儲在JS SPA中。
您在這里絕對正確。 ClientSecret無法保留在客戶端上。 因此,您只需擁有一個服務器端端點即可從當前用戶會話返回一個新的訪問令牌。 這里的想法是將刷新令牌保留在服務器上,並且當客戶端需要新的訪問令牌時,它將請求此端點。 顯然,將需要對客戶端進行身份驗證,這可以通過常見的ASP.NET身份驗證來實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.