2017-04-25 64 views
0

我正在開發ASP.NET MVC客戶端應用程序。用戶通過另一個返回令牌的API應用程序進行認證和授權。在客戶端應用程序中使用哪種身份驗證機制

當前,客戶端應用程序從API接收到令牌後,會在會話中保存令牌併爲應用程序授權設置表單身份驗證Cookie。

FormsAuthentication.SetAuthCookie(TokenViewModel.Username, rememberMe); 
HttpContext.Current.Session["AuthenticationToken"] = TokenViewModel; 

我應該繼續使用表單身份驗證,還是隻保存會話中的令牌?或用戶OWIN在這裏授權用戶。

客戶端應用程序使用[授權]屬性。

回答

0

如果您使用[Authorize]屬性,則默認情況下,API將在HTTP請求的Authorization標頭中檢查訪問令牌,而不是在cookie中。

如果您想要使用cookie,那麼請進行表單身份驗證或自定義Authorize屬性以檢查cookie內的令牌。

因此,最好將令牌保留在會話中,同時明確地管理它的生命期(令牌期滿)。除此之外,您可以使用刷新令牌在當前期滿之前或之後獲取新的訪問令牌。

+0

問題是針對客戶端應用程序的。 API使用令牌進行授權,對客戶端應用程序進行哪種身份驗證會更好? – Ahmed

+0

使用cookie會更好。 –

相關問題