设置google项目以进行身份​​验证API

时间:2014-05-03 11:33:49

标签: google-api django-allauth

我正在尝试为我的本地项目设置Google身份验证。我在python虚拟环境中运行项目,并为这些设置了不同的本地域名。名称类似于projectname.dev。当我在浏览器中输入http://projectname.dev时,该网站就会打开。

当我去https://console.developers.google.com/project/< myprojectid> / apiui / credential?authuser = 0我可以设置像javascript origin和授权重定向uri那样的值。我将javascript起源设置为http://projectname.dev,并尝试将相同的域放入授权的重定向URL,但它不起作用,我不得不将其留给localhost。

当我尝试通过django-allauth进行身份验证时,我得到了谷歌的回复:

**Error: invalid_request**

Invalid parameter value for redirect_uri: Non-public domains not allowed: http://projectname.dev/account/google/login/callback/

现在我的问题是:

  • 我可以使用像projectname.dev这样的域名在本地开发这部分项目,还是我需要为localhost设置它?将本地重定向来自localhost - > projectname.dev工作?
  • 如果我可以使用projectname.dev执行此操作,那么在Google开发者控制台中设置此项目的方式可能有错误?

1 个答案:

答案 0 :(得分:0)

在任何情况下,如果您无法在云端控制台中设置重定向URI,那么当您尝试授权该应用时,Google会向您提供。

我的建议是选择其中一种解决方案:

  • 如前所述使用“localhost”,使用某种重定向/ NAT /代理到projectname.dev
  • 将projectname.dev替换为具有实际tld的域,例如projectname.thisdomaindoesnotexist.com。然后配置此域名以映射到您的服务器。

或者等待“.dev”被认可为真正的TLD,你会很好:)