Web API 2通过Google授权

时间:2017-02-28 13:41:37

标签: asp.net asp.net-web-api oauth google-api google-oauth

我已经构建了一个简单的web api,我需要使用google进行授权。我见过VS模板,它附带了所有外部服务的身份验证脚手架。但是我想在一个空的web api项目中从头开始实现它。我正在寻找的行为是,当我的API的授权方法被调用时,用户被自动重定向到谷歌登录。一旦他登录,他应该自动返回我的web api限制方法并能够执行它。我需要采取哪些步骤(1)在我的代码中,(2)在Google方面。也是自动重定向到谷歌或从谷歌回来或可能吗?我怎样才能对邮递员进行测试。

更新:

我正在关注这篇文章:https://docs.microsoft.com/en-us/aspnet/web-api/overview/security/external-authentication-services#MICROSOFT

我创建了一个单页应用程序,如图所示。我根本没有修改过代码。我去了console.developers.google.com/apis并创建了一个新的Credential并将其插入到Startup.Auth.cs中,如微软文章中所示。当我运行应用程序时,我会看到谷歌登录按钮。我通过在IE中安装证书解决了SSL问题。然后,当我点击谷歌登录按钮时,我确实得到重定向,但是,我立即在我的代码中出现此错误:

ssl.gstatic.com/accounts/o/1508537125-aspen_refresh_approval_page_lib.js第177行第218行未处理的异常

0x800a1391 - JavaScript运行时错误:'botguard'未定义

因此,我也会通过Google请求权限屏幕显示,我可以拒绝或允许。如果我允许它,它只返回到应用程序的同一登录屏幕,我没有登录。

0 个答案:

没有答案