2014-01-09 144 views
0

我在Web API2中有一個服務器,使用Owin承載身份驗證令牌。web Api 2手機身份驗證

config.SuppressDefaultHostAuthentication(); 
config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); 

我怎樣才能消耗/啓用移動本機應用程序使用的Web服務API2進行身份驗證。

回答

0

要註冊用戶:

Send a POST request to /api/account/register with: 
header: Content-Type: application/json 
body: { 'UserName': 'xxx', 'Password': 'yyy', 'ConfirmPassword': 'yyy' } 

現在你有一個註冊用戶,您必須對它們的日誌「,並獲得令牌回來,你將與每個後續請求中使用來識別用戶發出請求:

Send a POST request to /token with: 
header Content-Type: application/x-www-form-urlencoded 
body: { grant_type=password&username=Alice&password=password123 } 

,將返回JSON與此類似:

{ 
    'access_token':'boQtj0SCGz2GFGz, 
    'token_type':'bearer', 
    'expires_in':1209599, 
    'userName':'xxx', 
    '.issued":'Mon, 14 Oct 2013 06:53:32 GMT', 
    '.expires":'Mon, 28 Oct 2013 06:53:32 GMT' 
} 

訪問令牌是您需要識別發出請求的用戶以便將其存儲在某個位置的東西。當您再次請求作爲用戶「XXX」,你需要包括令牌作爲這樣一個標題:

Authorization: Bearer boQtj0SCGz2GFGz 

注意,令牌將是更長的時間。這裏的所有都是它的。每次您提出請求時,您都需要將令牌包含在標題中。

I found this info here. It's a good read.

+0

但jQuery的不發送的授權請求服務,狀態未能解除 –

+0

我不知道你的意思。你能詳細說明嗎? –

+0

登錄用戶 - 如何從原生移動應用程序將憑據傳遞到Web Api Server –