问题标签 [spring-social-google]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
84 浏览

java - 春季社交谷歌示例失败

我已经克隆了spring social google example。尝试从指定的谷歌帐户README.md开始,但不幸的是开始失败。我使用了命令:

如果我尝试http://localhost:8080/,我会得到服务器异常:

...

...


我希望共享 spring 的项目可以完美运行,我相信它可以正常工作。...但谁知道也许我做错了什么。可能我需要创建特殊的项目帐户才能使用MY_APP_CLIENT_IDMY_APP_CLIENT_SECRET可能我需要特殊的服务器配置或网络工具......

0 投票
0 回答
222 浏览

spring - 无法在春季社交中使用其他 facebook(或 google)用户登录

我正在实施 spring-social-facebook 和 spring-social-google。到目前为止,我已经设法登录和注销用户,将它与我的数据库等保持一致。所以一切都按预期工作。但是,当我注销然后尝试使用不同的 facebook(或 google)用户登录时,我的 facebook(或 google)对象返回首先登录的用户凭据。即使在我验证了另一个用户之后,它似乎仍然有旧的连接。下面是我的脸书示例

脸书控制器

社交配置

WebSecurityConfiguration以防万一..

0 投票
0 回答
299 浏览

spring - 春季社会保障错误

我正在使用 XML 表示法中的 Spring Social Security 来通过 Google 和 Facebook 验证用户进入我的网站。

一切正常,但几个小时后它停止工作,用户无法使用社交登录进行身份验证。我不知道为什么GET对(Google 示例)https://www.googleapis.com/plus/v1/people/me的请求给了我一个400错误的请求并将用户重定向到/signin而不是我的redirect_uri.

如果我重新启动我的 Tomcat 服务器,社交登录身份验证会在另外几个小时内再次起作用。现在我已经配置了一个 crontab 来每小时重新启动我的服务器,但我认为这不是一个好的解决方案。

我有两个假设:

1)问题与过期令牌有关,我应该处理异常并重新验证抛出 ConnectController 流。但我不知道该怎么做。任何想法?

2)问题与我有关,当我服务器并再次工作inMemoryUsersConnectionRepository时会清除。restart

弹簧安全.xml

web.xml

pom.xml

菜单.jsp

应用程序属性

日志

非常感谢你的帮助!

0 投票
1 回答
482 浏览

spring-security - 通过 spring social 传递额外的查询/表单参数

我正在使用 JHipster 生成的 Spring Social 和 Spring Security 构建单页应用程序。

在某个社交身份验证提供商对用户进行身份验证后,我试图捕获原始查询参数。

例子:

调用 /signin/someprovider?show= someEntityId并在成功的身份验证将用户重定向到 /signup/ 后,我需要一种获取“ someEntityID ”的方法。

我假设不同的http调用使得传递/存储参数变得困难。是否有一些我可以使用/重用的 Spring 内置功能,或者如何解决这个问题?

更新

请求的线程如下所示:

(1) 浏览器->http://localhost:9060/signin/authenticationProvider?show=**someEntityId**

<- 重定向到https://authenticationProvider... &state=SomeState

(2) 浏览器->https://authenticationProvider

<- 重定向到http://localhost:9060/signin/google?state=SomeState&code=SomeCode

(3) 浏览器->http://localhost:9060/signin/authenticationProvider?state=SomeState&code=SomeCode

<- 重定向到http://localhost:9060/social/signup

(4) 浏览器->http://localhost:9060/social/signup

这最终在

此时它想使用原始参数someEntityId调用一个函数。

根据带有几个参数的 google oauth2 redirect_uri , ?show= someEntityId参数应该在 Oauth2 请求的 state 参数中进行编码,以便从 (1) 到 (3) 存活。在 (3) 中,必须将状态参数添加到重定向 uri,以便可以在 (4) 中解码原始参数。

看起来工作量很大,还是我错过了什么?如果有一种方法可以有一个会话变量,我可以将参数存储在 (1) 中并在 (4) 中再次获取它们,那就太好了。

0 投票
1 回答
98 浏览

access-token - 使用从 JavaScript 客户端收到的令牌在服务器上创建社交连接

我有一个使用 PHP/JavaScript 的网页,可以在客户端成功执行 Google 登录过程。然后我想将获得的令牌转发到使用 Spring-Social 创建社交连接并能够调用应用程序已授权的 API 的后端。我设法通过 Facebook (OAUTH2) 和 Twitter (OAUTH1) 都完美地做到了这一点,但对于 Google,我在尝试创建连接时总是得到 401 响应。服务器中的代码是这样的:

客户端中的代码是这样的:

后者的大部分内容是从 Google 文档中复制的,关于如何使用此处找到的后端服务器进行身份验证:https ://developers.google.com/identity/sign-in/web/backend-auth

我跟踪了 spring-social-google 内部的调用,它们导致对https://www.googleapis.com/oauth2/v2/userinfo的 REST 调用,这是回复 401 和以下 JSON 的调用:

我自己尝试调用这个相同的 REST API,我也得到了相同的响应,所以这似乎不是 spring-social-google 没有正确发送令牌的问题,正如我在其他一些帖子中所读到的那样。

我相信这个问题在某种程度上与 JavaScript API 给我一个“id_token”而 REST API 期待一个“access_token”的事实有关。但是,我没有找到一种方法来获取与 id_token 不同的访问令牌,并且 Google 文档确实将 id_token 发送到后端。在 googleUser.getAuthResponse() 中使用的“id_token”属性旁边有一个“access_token”属性,但它返回未定义。这个文档当然不是针对 spring-social 所以我并不是说它是不正确的,我只是想知道实现这一目标的正确方法是什么。

由于无法处理 id_token,spring-social 是否有过错?

我没有看到一些明确的方法来获取 access_token 吗?

无论如何,我觉得我有点接近,但解决方案似乎仍然无法掌握。

谢谢!

0 投票
5 回答
7574 浏览

spring - Spring Security 5 Google OAuth2 错误 - 需要重定向才能获得用户批准(UserRedirectRequiredException)

我正在尝试使用谷歌的 oauth 服务器来实现 Spring 安全性。应用非常简单。

Pom.xml

application.property 具有 oauth 配置:

然后实现了基本的网络安全:

index.html 文件非常基本:

主要应用类:

启动服务器后,当我点击http://localhost:8080时,它会加载 index.html。当我单击链接时,它显示以下错误页面:

在此处输入图像描述

服务器日志如下: UserRedirectRequiredException: 需要重定向才能获得用户的批准

我花了很多时间并试图找到解决方案,但我没有成功。但我在这里发现了类似的未解决问题:

1) Spring Security Facebook Oauth2 重定向太多次 2) Spring Boot UserRedirectRequiredException- 需要重定向才能获得用户批准

所以我相信很多人都面临着同样的问题。如果您能提供帮助,这将对我和其他许多人有很大帮助。提前致谢。

0 投票
0 回答
47 浏览

java - 为什么 Spring Social Google - version 1.0.0 RELEASE 需要在 Google Console 中启用 Google+ API?

这是一个 Spring Boot 项目,使用 Spring Social 依赖项来配置 Google sso。当使用 spring-social-google 的一个版本时,它可以完美运行,更新版本后它会停止工作。

我使用 Spring Social Google 版本 1.0.0 RC1 无需启用 Google+ API 即可使 sso 工作。切换到版本 1.0.0 RELEASE 后,sso 停止工作。我遇到的唯一解决方案是在 Google 控制台中启用 Google+ API。

为什么需要 Google+ 才能让简单的 google 登录与 spring-social 和 spring-social-google 一起使用?谢谢

0 投票
2 回答
1990 浏览

google-api - spring social google:people API 403 Forbidden due to Legacy People API

我有项目,我必须通过谷歌登录登录。我已经创建了谷歌项目。设置客户端/密钥。我到了向我的网络应用程序服务器发出发布请求并将 accessToken 发送到那里的地步:

请求是:GET https://www.googleapis.com/plus/v1/people/me 接受:application/json、application/*+json 授权:Bearer 等。

在这里我得到了例外:403 Forbidden。我必须手动跟踪实际请求的完成情况并手动发出休息请求以使用给定的标头复制问题。

这是我得到的结果:

"code": 403, "message": "Legacy People API 之前没有在项目中使用过......或者它已被禁用。通过访问 https://console.developers.google.com/apis/api/legacypeople启用它.googleapis.com/overview?project= ...然后重试。如果您最近启用了此 API,请等待几分钟,让该操作传播到我们的系统并重试。”

首先链接加载失败。我没有找到任何“Legacy People API”。只有新的人员 API。

我想知道这个问题是否有任何解决方案?我启用了 People API 并等待了足够长的时间,但仍然存在相同的错误。

编辑 1:我认为 spring-social 项目已经死了。将重写登录逻辑并将 spring-social 踢出它..

0 投票
1 回答
110 浏览

spring-boot - 使用 Broadleaf 进行 Spring 社交登录

我希望在 Broadleaf 应用程序上提供 Facebook 和 Gmail 登录信息,我指的是下面提到的链接

https://www.broadleafcommerce.com/blog/why-your-ecommerce-site-should-integrate-with-spring-social

但是链接已经很老了,谁能帮我发送一个链接或指针以使用 Broadleaf 5.2 版进行 Spring Social 登录

提前致谢

0 投票
0 回答
49 浏览

spring-boot - Spring Social 成功登录后重定向问题

我使用此文档配置了我的 Spring Boot 应用程序以进行社交登录。应用程序已启动,我已使用我的 gmail 帐户登录。到目前为止没有问题。但是当我使用 gmail 帐户登录时,我的应用程序没有获取用户信息。这是我的社交配置。

自动注册为真

我的安全配置也在这里;

公共类 BlogSiteSecurityConfig 扩展 WebSecurityConfigurerAdapter{

为什么应用程序在使用社交帐户登录后没有获取用户信息?