问题 MVC google login - OpenID身份验证请求包含未注册的域


当我尝试通过我的网络应用程序中的谷歌登录时,我收到了该错误:

400那是一个错误。

OpenID身份验证请求包含未注册的域:    http://XXX.XXX.XXX/ (IP在这里)

但是在localhost上一切正常。更重要的是 - 在其他项目上,一切都很好。

我正在使用默认OAuth:

OAuthWebSecurity.RegisterGoogleClient();

怎么解决?


6409
2018-05-21 10:06


起源

您是在MVC中使用它还是在简单的ASP.NET Web App中使用它? - Nimit Joshi
我正在使用asp.net MVC 4 - whoah
有关 stackoverflow.com/questions/23773275/... - calebboyd


答案:


我想为此线程添加一些上下文以及当前被阻止的开发人员的潜在解决方案。

回到二月我们 宣布弃用 的 OpenID 2.0 (OID2)定于2015年4月。我们还宣布2014年4月之后将不再接受新的OID2依赖方(RP)注册**。

鉴于API将在不到一年的时间内关闭,我们的目的是避免新的RP与Google的OID2 API集成。相反,我们建议使用我们的 OpenID Connect API 我们认为更安全,更容易实施。

注册于5月19日实际结束(如文件中所述) Google的OID2开发人员文档)。已经使用OID2的所有RP都不应受此闭包的影响。

至于目前正致力于与我们的OID2 API集成的开发人员(可能是因为他们错过了我们的OID2文档中的公告和警告),我们将尽最大努力减少注册结束引起的摩擦。如果您遇到这种情况,请通过发帖告诉我们 注册申请 在6月15日之前。该帖子应包含您的应用程序使用的样本OID2请求,如果您不想披露此类信息,请发送电子邮件地址,我们将与您联系。我们计划调查每个案例,并尝试以最佳方式解除阻止。

米格尔。

** OID2没有与身份提供商集成的RP的注册程序。 RP与联系Google OID2 API时使用的领域值(例如,www.example.com)相关联。因此,如果RP的领域值已用于联系我们的OID2 API,则RP被视为“已注册”。


6
2018-05-21 23:01





当Google将其身份验证更改为OAuth2时,此方法已过时

我没有删除这个答案,因为以前批准的api用户仍然可以使用。

==以下原始帖子==

如果您是基于OWIN的MVC5用户,只需更改即可 Startup.Auth.cs 文件

        app.UseGoogleAuthentication();

app.UseGoogleAuthentication(
 clientId: "000-000.apps.googleusercontent.com",
 clientSecret: "00000000000");

根据 http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on 页。


3
2018-06-20 09:39



我们如何为ASP.NET MVC 4项目修复它? - sanjeev
如何获取客户端ID和客户端密钥? - Er Mayank
@ErMayank它位于Google开发者控制台中。 - Youngjae
@Youngjae,你能给我一个代码(对于MVC4),因为我的应用程序在MVC4中使用的是OAuthWebSecurity.RegisterGoogleClient(),现在谷歌不支持。我必须在mvc4中制作它。 - Er Mayank
@ErMayank //由于我没有任何基于MVC4的方法,所以你可以使用一些组件 nuget。我不知道哪个有效但我 相信 这是一个包。 - Youngjae


Google已针对新域名禁用了OpenID2。现有的依赖方可以继续使用API​​,至少持续到2015年4月的弃用期结束。公告发布在: https://developers.google.com/+/api/auth-migration#timetable


1
2018-05-21 17:09



所以我们现在必须使用OAuth2?或者哪个解决方案 - whoah
是的,OAuth2 / OpenID Connect是首选解决方案。您可以在Google开发文档中找到有关协议的信息: developers.google.com/accounts/docs/OAuth2Login  关于这里的迁移步骤: developers.google.com/accounts/docs/OpenID  希望有所帮助。 - Miguel Andres