gpt4 book ai didi

javascript - X-Frame-Options 错误

转载 作者:太空宇宙 更新时间:2023-11-04 13:17:51 24 4
gpt4 key购买 nike

我一直在使用 google+ 登录 API,

  1. 当用户链接他的新帐户时(通过尚未登录Google+ 社交网络)在我创建的 API 应用中
  2. 系统会指示用户创建 Google+ 个人资料屏幕。
  3. 按下提交按钮时,它被定向到一个 URL,然后它不再加载,屏幕空白,不知道是否用户的帐户是在 google+ 中创建的。

我已经追踪到包含这个的错误:

X-Frame-Options 拒绝加载:https://accounts.google.com/o/oauth2/auth?XXXXXXXX 不允许跨源框架。

因此它不会继续访问 url,因为 X-Frame-Options 阻止了它。

我研究了X-Frame-Options,说应该在header中设置。

我要如何在这个 header 中设置它:

<meta name="google-signin-clientid" content="{{=response.CLIENT_ID}}" />
<meta name="google-signin-scope" content="https://www.googleapis.com/auth/plus.login" />
<meta name="google-signin-requestvisibleactions" content="http://schemas.google.com/AddActivity" />
<meta name="google-signin-cookiepolicy" content="single_host_origin" />

我以这种方式呈现我的按钮:

(function() {
var po = document.createElement('script');
po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/client:plusone.js?onload=render';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(po, s);
})();
function render() {

// Additional params including the callback, the rest of the params will
// come from the page-level configuration.
var additionalParams = {
'callback': signinCallback,
'immediate': false,

};
// Attach a click listener to a button to trigger the flow.
var signinButton = document.getElementById('signinButton');
signinButton.addEventListener('click', function() {
gapi.auth.signIn(additionalParams); // Will use page level configuration
});
}

或者还有哪些设置方式?或者如何解决这个错误?我的后端部分是 python。

最佳答案

我也遇到了这个问题,但我发现我这边发生了什么。

我正在使用 Golang 创建一个在 Google App Engine 上运行的应用程序。我获取了设置 Google+ 登录按钮所需的代码片段,并将其粘贴到我的模板中。代码看起来像这样,直接取自 Google Documentation :

        <span
class="g-signin"
data-callback="signinCallback"
data-clientid="CLIENT_ID"
data-cookiepolicy="single_host_origin"
data-requestvisibleactions="http://schema.org/AddAction"
data-scope="https://www.googleapis.com/auth/plus.login">

我没有用 CLIENT_ID 替换我的真实 clientId,这就是问题所在。我用我的 Google App Engine CLIENT_ID 替换了字符串“CLIENT_ID”,它为我解决了这个问题。我通过使用 Chrome 开发者工具查看网络选项卡上的网络请求/响应信息观察到这一点,并观察到这个奇怪的请求使用的是 CLIENT_ID,这看起来是错误的。

进一步检查代码,确实是我的问题。

希望这对您有所帮助!

关于javascript - X-Frame-Options 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22753301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com