java - Google Oauth 登录窗口无法正常工作

标签 java spring reactjs spring-security

我有项目 Java Spring + React.js。

我的问题

在我的网站上有一个按钮,单击该按钮应通过 Google 授权用户。问题是 Google OAuth 登录 UI 根本不出现。Google 控制台上出现以下错误。 enter image description here

但是,如果我转到“应用程序”部分,仍然可以获得此 Google 登录 UI。通过点击Google这个标签,我可以成功登录。 enter image description here

这是我的 Google OAuth 安全配置代码 enter image description here

这是我的 application.properties 文件 ![enter image description here

在 React 端,我有一个按钮,单击该按钮即可实现此功能。

 onOAuth2LiginClick = () => {
  axios.get("http://localhost:8080/oauth2/authorize/google", {
  "Access-Control-Allow-Origin": "*"
  });
};

几天来我找不到任何相关信息。如何让此登录窗口出现在我的网站上?预先感谢您的帮助。

最佳答案

您需要将浏览器定向到 Google 的 OAuth2 端点(即通过链接或使用 window.location=...),而不是创建“后端”axios/XMLHttpRequests调用端点。

据我所知,如果您只是将用户链接到您的 localhost:3000/oauth2/authorize/google 端点,它应该可以工作。

确切的流程有点不同,具体取决于您执行的是服务器端还是客户端 OAuth,但无论哪种情况,基本上您都需要将用户发送到 Google 的身份验证 URL,然后在身份验证后 Google 将发送(重定向)用户返回到您指定的网址。

关于java - Google Oauth 登录窗口无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55893975/

相关文章:

javascript - 错误处理 redux-promise-middleware

java - Groovy - 有效地将 CSV 数据映射到对象的构造函数中

java - Spring JSON序列化、Gson反序列化

javascript - 无法使用 JavaScript 关闭 chrome 浏览器中的选项卡

java - 带有空表达式的搜索条件

spring - 在 Spring WebFlow 中,如何恢复流程?

javascript - 希望避免点击标题时执行多个操作

javascript - react 设置具有特定类名的元素的最小高度属性

java - 运行时错误 : java. lang.ClassNotFoundException : com. mysql.jdbc.Driver

java - JAXB XJC 可以禁止在生成的类中创建注释吗?