给定的客户端ID(GSI)不允许指定的来源

2022-07-12 00:00:00 javascript google-signin

我在http://localhost:8080上将gapi替换为gsi,从而重构我的Google&Quot;登录。

gapigsi声称The given origin is not allowed for the given client ID时,gapi怎么能正常工作?

gapi
<script src="https://apis.google.com/js/api:client.js" async defer></script>
window.gapi.load('auth2', () => {
  const auth2 = window.gapi.auth2.init({ client_id })
  auth2.signIn().then(console.log)
})
gsi
<script src="https://accounts.google.com/gsi/client" async defer></script>
<div id="g_id_onload"
     :data-client_id="client_id"
     data-login_uri="http://localhost:8080"
     data-auto_prompt="false">
</div>
<div class="g_id_signin"
     data-type="standard"
     data-size="large"
     data-theme="outline"
     data-text="sign_in_with"
     data-shape="rectangular"
     data-logo_alignment="left">
</div>

输出错误:The given origin is not allowed for the given client ID


解决方案

我添加了不带端口的源以解决此问题。

要点:将和http://localhost都添加到授权的http://localhost:<;port_number>;来源框中,以进行本地测试或开发。

来源:https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid

相关文章