当我尝试通过我的网络应用中的谷歌登录时,我收到了错误:
400那是一个错误。
OpenID身份验证请求包含未注册的域: http://XXX.XXX.XXX/(此处为IP)
但是在localhost上一切正常。更重要的是 - 在其他项目上,一切都很好。
我使用的是默认OAuth:
OAuthWebSecurity.RegisterGoogleClient();
如何解决?
答案 0 :(得分:6)
我想为此线程添加一些上下文以及当前被阻止的开发人员的潜在解决方案。
早在二月份,announced the deprecation(OID2)计划于2015年4月OpenID 2.0。我们还宣布2014年4月后将不再接受新的OID2依赖方(RP)注册**。< / p>
鉴于API将在不到一年的时间内关闭,我们的目的是避免让新的RP与Google的OID2 API集成。相反,我们建议使用我们认为更安全,更易于实施的OpenID Connect API。
注册于5月19日实际关闭(如Google’s OID2 developer documentation中所述)。已经使用OID2的所有RP都不应受此闭包的影响。
对于目前正在与我们的OID2 API集成的开发人员(可能是因为他们错过了我们的OID2文档中的公告和警告),我们将尽最大努力减少注册结束引起的摩擦。如果您遇到这种情况,请在6月15日之前发布registration request告知我们。该帖子应包含您的应用程序使用的样本OID2请求,如果您不想透露此类信息,请发送电子邮件地址,我们将与您联系。我们计划调查每个案例,并尝试以最佳方式解除阻止。
圣米格尔。
** OID2没有与身份提供商集成的RP的注册程序。 RP与联系Google OID2 API时使用的领域值(例如,www.example.com)相关联。因此,RP被认为是注册的&#34;如果其领域值已用于联系我们的OID2 API。
答案 1 :(得分:3)
当Google将其身份验证更改为OAuth2时,此方法已过时
我没有删除此答案,因为以前批准的api用户仍然可以使用。
==以下原始帖子==
如果您是基于OWIN的MVC5用户,只需更改 Startup.Auth.cs 文件
app.UseGoogleAuthentication();
到
app.UseGoogleAuthentication(
clientId: "000-000.apps.googleusercontent.com",
clientSecret: "00000000000");
答案 2 :(得分:1)
Google已针对新域名禁用了OpenID2。现有的依赖方可以继续使用API,至少持续到2015年4月的弃用期结束。公告位于:https://developers.google.com/+/api/auth-migration#timetable