我有以下設置。使用asp.net web api令牌在mvc網站上進行身份驗證
2個移動應用程序與asp.net web api 2
項目通信,他們使用Token Authentication
。每個移動客戶端都存儲令牌客戶端,而不是用戶名和密碼。
然後,我的門戶網站託管在asp.net mvc 5
項目上,該項目使用標準Cookie身份驗證。
現在在某些情況下,我的移動應用需要從mvc 5
門戶網站加載網頁。例如我們的付款網關頁面。但客戶端需要進行身份驗證才能加載此頁面。
當我們向用戶展示Web門戶網站的時候。它要求他們再次登錄。這是非常糟糕的用戶體驗。
我如何可以驗證客戶端上的MVC網站,用我的web api Token
我想象這樣的功能在MVC網站:
pubic Action LogInWithToken(String token)
{
var user = GetUserFromToken(token);
var isAllowed = AuthenticateUserFromToken(user,token);
if(!isAllowed) return 401;
return CreateCookieForUser(user);
}
您可以使用自定義授權屬性,您可以在其中檢查請求數據以及是否存在令牌,然後驗證用戶。檢查[這裏](https://msdn.microsoft.com/en-us/library/ee707357(v = vs.91).aspx)並在這方面進行搜索。 –
可能的重複 - https://stackoverflow.com/questions/38661090/token-based-authentication-in-web-api-without-any-user-interface –
@SivaGopal是的,我可以做到這一點。但你如何解密令牌?我仍然需要一種方法來獲取'string token'並從令牌獲取用戶和時間戳。 – Zapnologica