1

我正在运行一个在 Google Cloud Platform 上运行良好的网站,但是我无法在我的网站上的代码级别解决一个问题,我认为它与 GCP 有关。

在网站上,用户可以通过谷歌帐户快速连接,问题是它只有在网站在本地服务器上运行时才能很好地工作,而不是在网站在云中时。

到目前为止,我已经阅读了很多内容并在代码级别和设置上更改了很多内容,但它并没有解决问题,一旦有人尝试通过现有的 Google 帐户登录,该网站将无法阅读他的详细信息并带来他回到登录表单页面,甚至没有显示任何错误消息。

到目前为止,我的代码在 Startup.Auth 页面中:

app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
{
     ClientId = "xyz",
     ClientSecret = "xyz",
});

在 GCP 中,我按照以下步骤允许在网站上进行外部登录:

  1. 设置回调 URL - https://mywebsite.com/signin-google
  2. 启用 Google+ API

正如我所提到的,这在 localhost 上工作 excelnet,但在云上的网站上却不行。

我错过了任何一步吗?

4

1 回答 1

1

感谢 Anders Abel,我找到了解决问题的方法,

事实证明,这是一个已知的错误,系统无法传递包含尝试登录用户详细信息的 cookie。这个问题有很多不同的解决方案,在我的情况下,解决方案是添加一个名为Kentor.OwinCookieSaver 并将其应用到 Startup 类中。

您可以在以下链接中阅读有关该主题的更多信息:https ://stackoverflow.com/a/26978166/11429682

于 2021-08-20T09:25:27.817 回答