【发布时间】:2016-03-06 08:28:29
【问题描述】:
我第一次尝试在 mvc-web-api4 中进行开放式身份验证。我在 services.domain.com 中托管了我的服务,而前端(UI)在 test.domain.com 中。
在前端,我将调用该服务以从 facebook 登录。成功登录后,我将在 services.domain.com 中获得访问令牌。但我的代码在 test.domain.com 中。
从 facebook 重定向后。我在 service.bubblesbuy.com 中获取访问令牌,但我需要 test.domain.com 中的访问令牌。
这是我遵循的步骤
$.ajax({
url: "services.domain.com/api/Account/ExternalLogins?returnUrl=%2F&generateState=true",
success: function (data) {
//after successful
}
成功后,我会得到提供者,这是输出
[
{
"Name": "Facebook",
"Url": "/api/Account/ExternalLogin?provider=Facebook&response_type=token&client_id=self&redirect_uri=services.domain.com&state=bzDUygFiUw-jOYHCYaDPT8iawAjq1ejd0hmkVPZTwjk1",
"State": "bzDUygFiUw-jOYHCYaDPT8iawAjq1ejd0hmkVPZTwjk1"
}
]
我会将 Url 传递给我的服务
services.domain.com//api/Account/ExternalLogin?provider=Facebook&response_type=token&client_id=self&redirect_uri=services.domain.com&state=bzDUygFiUw-jOYHCYaDPT8iawAjq1ejd0hmkVPZTwjk1",
"State": "bzDUygFiUw-jOYHCYaDPT8iawAjq1ejd0hmkVPZTwjk1
我正在获取访问令牌
services.domain.com/#access_token= Hu2B5WmmZLy8TfJ3RqRsVnQDfDcHSiVCMliWrS554PpU-i_LQzdMggJgXClsf-ZtYXRDxxct7m3frZxYR0MKLxNWHwH1gXxi7Y-HUbWjyB9QvBJMwifFCVMnt7BOOlKjJPEAhdOY7ZgRB-vURBH-hHT6wFSXJvvpYpZ0fziX0DgKrLIqUj8&token_type=bearer&expires_in=1209600&state=24HUa-Upzo-_Xh2j0CkAx5TVPdoirvNrGktpg5H5Ifg1
但我需要在 test.domain.com 中访问该令牌(我的所有 html 页面都在前端)
请帮助我如何在 test.domain.com 中获取该访问令牌(在前端)
【问题讨论】:
标签: javascript ajax asp.net-mvc-4 asp.net-web-api oauth-2.0