基於令牌的身份驗證
ABPZERO是使用瀏覽器的cookie來做的身份驗證的。
但是,如果你想要使用WebApi和應用層的服務類(他們通過動態webapi請求的,此時這些請求都是暴露在外部的)來訪問移動設備。這個時候你就需要基於令牌(Token)的身份驗證機制。
ABPZERO是支持token的身份驗證的基礎結構。
在控制器AccountController中,通過webapi來對身份驗證的操作,以獲得令牌。我們在下一次的請求中就可以使用獲得的令牌信息。
我們使用Postman來模擬登陸過程,postman是一個chrome插件。
身份驗證
只是向 http://localhost:6234/api/Account/Authenticate 發送請求,請求類型為json(Context-Type="application/json")
下圖所示:

我們發送了一個Json請求,正文為:
{
"tenancyName":"default",
"userNameOrEmailAddress":"admin",
"password":"123qwe"
}
其中包括了tenancyName(租戶名稱)、userNameOrEmailAddress(用戶名)、password(密碼)。
相應並且返回的result就是令牌。我們可以將其保存,在下一次的請求中使用。
使用 API
我們在上面的身份授權中,得到了令牌,那么我們就可以用它來做該賬戶權限范圍內的任何事情。所有的應用層的服務都是可以通過遠程來調用的。
例如,我們可以使用“userservice”來獲取用戶列表。

圖上的為一個POST請求,訪問路徑:http://localhost:6234/api/services/app/user/GetUsers請求類型依舊為json,內容則為Authorization="Bearer 剛剛得到的令牌內容"。請求的正文為{}。
當然請求不同的API返回的響應正文也會不同嘛。
幾乎所有的UI層都可以使用webapi來訪問,畢竟UI使用相同的webapi嘛。(and can be consumed easily.)
