如何在.net web api 2中记录外部

时间:2014-07-16 11:08:43

标签: login social-networking asp.net-web-api

我尝试使用MVC5,web api 2和模板登录并注册外部身份验证。 我不知道该怎么做。我读 asp.net web api 2: how to login with external authentication services?

当我打电话

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"
}

(我不知道什么是国家) 然后我可以使用上面的Url(身份验证是用cookie)和响应是OK 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模板进行外部注册/登录?

什么是国家? (似乎没用)

1 个答案:

答案 0 :(得分:0)

外部登录是Web Api,支持开箱即用,可以使用Owin管道轻松插入。获取访问令牌并执行所有与oauth相关的调用由Facebook Owin Provider完成。

您可以通过网站here

找到facebook登录样本