我的网站曾经有一个链接,允许用户使用Open ID 2.0中的Google帐户登录。自2015年4月20日起,这已不再有效,因此我尝试迁移到Google登录。
此页面: https://developers.google.com/identity/sign-in/web/sign-in#specify_your_apps_client_id
说:
使用google-signin-client_id元素在Google Developers Console中指定您为应用创建的客户端ID。
我不知道我的客户端ID是什么。在我的Google Developers Console中: https://console.developers.google.com/project
我只使用GoogleApp创建了一个非常旧的应用程序,它与我所谈论的网站完全无关。我无论如何都尝试使用它的项目ID,并在点击登录按钮后出现以下错误:
401. That’s an error.
Error: invalid_client
The OAuth client was not found.
Request Details
fetch_basic_profile=true
scope=email profile openid
response_type=permission
redirect_uri=storagerelay://http/localhost?id=auth684995
ss_domain=http://localhost
client_id=imitatorgwt.apps.googleusercontent.com
openid.realm=
That’s all we know.
我应该在google-signin-client_id元标记中写什么?
答案 0 :(得分:4)
您需要创建/配置Google OAuth客户端。有关如何为Google OpenID2执行此操作的详细说明 - > OpenID Connect迁移,请查看Google's migration dev docs(特别是与Google Developers Console相关的部分)。
可能的工作流程是:
希望有所帮助!
<强>更新强>
我们更新了推荐的文档,其中包含有关如何创建Google项目+客户ID的说明,请参阅https://developers.google.com/identity/sign-in/web/devconsole-project。这应该会让开发人员在未来更容易。
再次感谢您报告此问题!
答案 1 :(得分:0)
已经在几个项目中实施了“网站的Google登录”,起初Google guideline在以下几行让我有些困惑:
<head>
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
</head>
第一行<meta name="google-signin-client_id"...
使我想到我需要在此处放置一些google-id。
现在回答问题:
我应该在google-signin-client_id元标记中写什么?
<meta>
是HTML标准的一部分,该标记提供有关HTML文档的元数据(或信息)。元数据将不会显示在页面上,但可以在计算机上解析。来源:w3schools html reference。
因此,请记住,标记的“名称”属性只是从字面上指定元数据的名称。换句话说,它仅描述“内容”属性。尝试将name="google-signin-client_id"
改为name="my-content"
,然后看看会发生什么。
永远记住:最好的学习方法是尝试,失败,调试和纠正。