AngularJS + WebAPI外部Google身份验证

时间:2015-10-04 12:52:00

标签: asp.net angularjs api

我目前正在设置一个外部登录(Google)进入我的AngularJS WebApp,它正在与Web API进行通信,所有这些都在本地进行,但是我遇到了问题。

我已按照http://www.asp.net/web-api/overview/security/external-authentication-services中有关如何设置Google身份验证的步骤进行操作,其中包括仅添加app.UseGoogleAuthentication();没有appId或clientSecret,就像Facebook等其他提供商一样。

现在转到我的API查询并使用以下GET /api/Account/ExternalLogins?returnUrl=%2F&generateState=true获取所有提供商,返回[{"Name":"Google","Url":"/api/Account/ExternalLogin?provider=Google&response_type=token&client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A11942%2F&state=E2eXxoZ02yUg39-DrwZTXHnrV5FrOhUe-k-zz-oD6uE1","State":"E2eXxoZ02yUg39-DrwZTXHnrV5FrOhUe-k-zz-oD6uE1"}]

并且在互联网上阅读时我删除了网址/api/Account/ExternalLogin?provider=Google&response_type=token&client_id=self&redirect_uri=http%3A%2F%2Flocalhost%3A11942%2F&state=E2eXxoZ02yUg39-DrwZTXHnrV5FrOhUe-k-zz-oD6uE1并添加到了锚标记中,因此我认为这应该会将我重定向到Google身份验证,但是我收到了错误消息

enter image description here

有谁知道为什么?此外,当我将链接添加到锚标记时,我会在开始时为我的API http://localhost:11942/添加链接。

谢谢

1 个答案:

答案 0 :(得分:0)

不推荐使用您使用google(Open ID)进行身份验证的方法,请参阅: http://blogs.msdn.com/b/webdev/archive/2014/07/02/changes-to-google-oauth-2-0-and-updates-in-google-middleware-for-3-0-0-rc-release.aspx

您需要使用Google OAuth,请尝试按照以下文章配置Google身份验证: http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on#goog