我尝试使用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模板进行外部注册/登录?
什么是国家? (似乎没用)
答案 0 :(得分:0)
外部登录是Web Api,支持开箱即用,可以使用Owin管道轻松插入。获取访问令牌并执行所有与oauth相关的调用由Facebook Owin Provider完成。
您可以通过网站here
找到facebook登录样本