为啥我在尝试实施 Gmail Oauth 时将“SameSite”属性设置为“无”或无效值,而没有“安全”错误

Posted

技术标签:

【中文标题】为啥我在尝试实施 Gmail Oauth 时将“SameSite”属性设置为“无”或无效值,而没有“安全”错误【英文标题】:Why am I getting the “SameSite” attribute set to “None” or an invalid value, without the “secure", error when trying to implment Gmail Oauth为什么我在尝试实施 Gmail Oauth 时将“SameSite”属性设置为“无”或无效值,而没有“安全”错误 【发布时间】:2021-12-20 08:39:51 【问题描述】:

错误

Cookie “G_AUTHUSER_H” will be soon rejected because it has the “SameSite” attribute set to “None” or an invalid value, without the “secure” attribute. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite cb=gapi.loaded_0:159:401

Cookie “G_AUTHUSER_H” will be soon rejected because it has the “SameSite” attribute set to “None” or an invalid value, without the “secure” attribute. To know more about the “SameSite“ attribute, read https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite cb=gapi.loaded_0:159:401

Cookie“G_ENABLED_IDPS”将很快被拒绝,因为它的“SameSite”属性设置为“None”或无效值,没有“secure”属性。要了解有关“SameSite”属性的更多信息,请阅读https://developer.mozilla.org/docs/Web/HTTP/Headers/Set-Cookie/SameSite cb=gapi.loaded_0:273:21

问题


所以我一直在尝试使用 Gmail Oauth API 来设置登录到我的网站。它在我的 XAMPP 本地主机上运行良好,但是一旦我的一名团队成员试图将网站从 XAMPP 移到 Node Js 服务器上。如果您使用 gmail 登录,它会不断刷新。

如果没有 gmail Oauth,网站似乎可以正常工作,只是当我尝试使用它时。

【问题讨论】:

你能解释一下“不断刷新”是什么意思吗?它发生在过程的哪个部分? OAuth 是否成功完成? 如果您有任何解决方法,请告诉我们我正在使用 Hugo 静态站点生成器。面临同样的问题。 面对同样的问题,网站只是停留在登录页面上,有趣的是,这仅在 Firefox 上开始发生,在我们升级节点 + 反应(和一般包升级)之后,到目前为止不知道是什么导致登录失败,我们只看到这些警告。 【参考方案1】:

如果我在登录页面上,我仅通过加载登录功能来解决谷歌刷新页面的问题。否则,它只是在其他页面上一遍又一遍地运行该功能。

也许不是最好的解决方案,但这就是我所做的。


        //loads if page is login.html
        switch (current) 
            case "http://localhost:2000/login.html":
                window.location.href = "./index.html"
                console.log("Note on page");
                break;
        

【讨论】:

以上是关于为啥我在尝试实施 Gmail Oauth 时将“SameSite”属性设置为“无”或无效值,而没有“安全”错误的主要内容,如果未能解决你的问题,请参考以下文章

Gmail API 是不是支持使用 OAuth 服务帐户?

最新的 Google Adwords oAuth API 实施

Java 是不是有任何用于 Gmail 聊天的 API?

谷歌 gmail api oauth2 身份验证错过了解

为啥 Gmail 会阻止电子邮件中的 CSS?

使用 OAuth 2.0 和服务帐户的 Gmail IMAP 失败,状态为 400