2014-07-16 82 views
0

我試圖登錄並使用MVC5,web api 2和模板從外部認證註冊。 我不知道該怎麼做。我讀 asp.net web api 2: how to login with external authentication services?如何在.net web api 2登錄外部

當我打電話

GET /api/Account/ExternalLogins?returnUrl=%2F&generateState=true 

響應

{ 
    "Name": "Facebook", 
    "Url": "/api/Account/ExternalLogin?provider=Facebook& 
      response_type=token& 
      client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A6685%2F& 
      state=Yj1...hU1", 
    "State": "Yj1...hU1" 
} 

(我不知道什麼是國家) 那麼我就可以使用上面的網址(認證與餅乾)和響應是好的HTML狀態和一些HTML頁面(我不知道爲什麼)

這個電話

GET /api/Account/UserInfo 

響應信息與null loginProvider。

我想註冊用戶與FB或谷歌,所以我需要令牌,但我不知道那個access_token,我怎麼能得到它。在示例(以上鍊接)是這樣的:

POST /api/Account/RegisterExternal 
Authorization: Bearer VPcd1RQ4X... (access_token from url) 
Content-Type: application/json 
{"UserName":"myusername"} 

但什麼是

access_token from url ? 

所以,我的問題是:

我怎麼能對外註冊/登錄使用Web API 2個模板?

什麼是狀態? (似乎沒用)

回答

0

外部登錄是Web Api開箱即用,並且可以使用Owin管道輕鬆插入。獲取訪問令牌並執行所有與oauth相關的調用均由Facebook Owin Provider完成。

你可以在網站上找到一個facebook登錄樣本here