问题标签 [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 投票
2 回答
642 浏览

spring - 如何通过providerId、accessToken和secret获取providerUserId?(春季社交)

在我的应用程序中,我可以通过 providerId 和 providerUserId 识别用户。但最初,我只有以下信息:

  • 提供者 ID,
  • 访问令牌,
  • 秘密。

因此,我需要通过这些信息获取 providerUserId。

我正在尝试使用以下代码:

但问题是连接键未初始化:providerUserId 为空。

在这种情况下如何获得它?

0 投票
1 回答
386 浏览

maven - Spring Social Google - 未找到 Maven 依赖项

我找不到 spring-social-google 的 maven 依赖项(https://github.com/GabiAxel/spring-social-google)。根据文档,依赖项的定义如下:

但是它不存在于 Maven 存储库中。谁能证实这一点?

0 投票
1 回答
1072 浏览

spring - spring-social-google 身份验证不会重定向到注册表单页面

我想在本教程中包含的代码中添加 Google Plus 风格,但是在登录时,我从 Log4J 收到以下警告消息。

WARN - RestTemplate - GET 请求“ https://www.googleapis.com/plus/v1/people/me ”导致 403(禁止);调用错误处理程序

而不是像 Facebook 和 Twitter 风格那样重定向到注册表单,我再次被重定向到登录页面。

DEBUG - LoginController - 渲染登录页面。

本教程的代码可在此处获得。这些是我对它所做的更改。

pom.xml

resources/application.properties - 添加了以下几行

其余的更改在我 fork 的 GitHub 存储库中提供

该应用程序需要启动

如果您可以自由绑定端口 8080,jetty.port 当然可以省略。

我在某处读到 Google Plus 请求需要 POST 但它没有给我任何其他结果,因此代码login.jsp看起来像这样

有没有人遇到并解决了这个问题?使用 Twitter 和 Facebook,它可以毫无问题地工作。

编辑

我发现在与 Facebook 或 Twitter 握手后,/singup如果该帐户尚不存在,我会被重定向到页面。但是,使用 Google Plus,我会被重定向到/signin当然重定向到的位置,/login因为数据库中还没有用户帐户。

0 投票
1 回答
618 浏览

spring-security - 多重网络安全导致 ERR_TOO_MANY_REDIRECTS

我正在尝试通过 Java Config 配置 Spring Security 以处理我的应用程序上的两种身份验证:基于表单(用户登录)和基于令牌(REST api)。

表单配置很简单,除了我必须创建自己的部分SecuritySocialConfigurer(基本上是带有自定义身份验证成功处理程序的副本,SpringSocialConfigurer该处理程序生成 JWT 令牌并在响应中设置一个 cookie)。

当只有这个配置在运行时,我可以访问http://localhost:8080并被重定向http://localhost:8080/signin到执行登录。成功登录后,我检查 JWT 令牌 cookie 是否存在。

第二个安全配置目的是在调用 REST api 时检查 JWT 令牌的存在。

JwtAuthenticationProvider是一个解析 JWT 令牌并生成对象的类,如果令牌不存在或无效则UserDetails抛出一个对象。AuthenticationException

当第二个配置到位时,我无法导航到http://localhost:8080(或/signin)启动登录过程 - 浏览器返回 ERR_TOO_MANY_REDIRECTS。

我尝试了一些事情但没有成功。任何有关正在发生的事情的线索将不胜感激。

谢谢。

0 投票
1 回答
1211 浏览

java - 如何使用春季社交谷歌登录指定重定向uri?

我正在使用 spring social google 登录来登录我的基于 spring mvc 的 Web 应用程序。

当我尝试使用谷歌登录时,出现以下错误。

我在谷歌控制台开发人员中添加了重定向 uri。它与使用 google 签名时传入的内容不同。

我在 google 控制台中将 url 指定为http://localhost:8080/gen/home,但它试图转到http://localhost:8080/gen/auth/google,这在 google 开发控制台中不存在。这里是不匹配的。

那么,我需要如何以及在哪里指定应用程序中的重定向 uri?

0 投票
2 回答
1234 浏览

spring-social - 春季社交谷歌

我一直在使用 Spring Boot 开发 Spring Social Google 访问。当我配置

应用程序属性

我在春季社交中找不到任何谷歌的元数据。
就像 facebook、twitter 和linkedin 有元数据一样。
然后我将如何使用连接控制器连接到谷歌所需的 Client-ID 和 Client-Secret 进行配置。

0 投票
1 回答
611 浏览

java - 您如何使用 spring social google 下载文件?

我正在尝试将 spring social google 库与 driveOperations() 实现一起使用。每当我尝试下载文件时,都会出现错误。我什至尝试下载公开共享的文件,但没有成功。身份验证正在工作。

我尝试了以下变体:

我在示波器中添加了驱动器,所以我知道这不是问题。当我最初使用应用程序进行身份验证时,系统会提示我访问驱动器。

有问题的文件是谷歌电子表格,但我希望将它们下载为 excel 文件。使用股票 google SDK,这可以通过获取 exportLinks 然后从该 URL 获取来完成。虽然春季社交谷歌图书馆有

无法使用导出链接,因为 downloadFile 似乎不适用于此处的 URL(或者它们也可能为空)。

有谁知道如何使用 spring social google 和 drive 下载文件?我还没有找到任何涵盖驱动器的示例代码,只有 google plus 和任务。

目前使用 Spring Boot 1.3.3 / Spring 4.2.5 和 Spring Social Google 1.0.0 RELEASE

0 投票
1 回答
1022 浏览

java - spring 社交配置中如何配置回调 URL

我正在使用春季社交登录。我需要配置一个回调 URL。默认情况下,它将 localhost 作为回调 URL。

我尝试使用 ProviderSignInController.setApplicationUrl() 方法。但这些变化并没有反映出来。

我正在使用 spring 提供的示例中的相同代码。这是下面的链接。

https://github.com/spring-projects/spring-social-samples/tree/master/spring-social-showcase-sec

我无法理解在此示例中定义回调 URL 的位置。如果未定义我如何自定义它并定义其他一些回调 URL。请帮忙。

0 投票
1 回答
1034 浏览

spring-security - 成功 Oauth2 登录后,用作登录提供程序的 Spring Social Google 失败并出现 403

我需要在提供程序中同时使用 Facebook 和 Google 作为 OpenId Sing。我已使用 SocialAuthenticationFilter 将它们与 Spring Security 集成,如文档中所述并查看示例应用程序。

我已成功配置 Facebook。

问题是当我尝试使用 Google 进行身份验证时:

OAuth2AuthenticationService.getAuthToken():

此时我可以看到 accessGrant 包含一个 accessToken,所以到目前为止它似乎是正确的。它在以下调用中失败:

createConnection()最终调用GoogleConnectionFactory.extractProviderUserId(AccessGrant accessGrant)

并且getApiAdapter().fetchUserProfile(Google)->google.plusOperations().getGoogleProfile();抛出 403 异常:

为什么它无法获取 Google 个人资料?显然我设置的范围和提示给用户的内容是正确的......

完整的项目可在此处获得:https ://github.com/codependent/spring-boot-social-signin

配置摘录:

安全配置

社会配置

0 投票
1 回答
162 浏览

spring - Spring Social Login:如何添加同一个社交提供商(fe Facebook)的多个应用程序?

我的 Spring MVC Web 应用程序同时为三个不同的 Web 商店提供三个不同的域(我们称它们为 domain1.com、domain2.com 和 domain3.com)。

对于这些商店中的每一个,我都需要提供自己的社交登录(带有自定义登录屏幕标题、自定义数据隐私声明……)。因此我需要创建三个不同的社交提供者(fe facebook)应用程序。

在 Spring Social 中 - 据我了解 - 我只允许添加一个FacebookConnectionFactory,因此只允许添加一个提供程序应用程序。

尽管如此,我如何将这三个不同的 Facebook 应用程序添加到 Spring Social?Spring Social 有能力做到这一点吗?是否存在解决方法?