无法将数据库用户与社交网络与Oauth2

时间:2016-12-22 14:52:30

标签: java spring-boot spring-security oauth-2.0

我使用SpringBoot Security和Spring Security Oauth2。 我使用OAuth2ClientAuthenticationProcessingFilter登录社交网络。 在此过滤器中,我使用自定义UserInfoTokenServices,并使用了loadAuthentication(String accessToken) 在返回OAuth2Authentication之前的这个方法中,我将社交用户ID写入DB用户或创建它,如果不存在(使用额外的逻辑,我给他一些密码)。

它工作正常,以后用户可以使用他的电子邮件和密码登录,作为数据库用户或他的社交网络个人资料,它将是相同的个人资料。

但是现在我需要链接新社交,当用户已经登录时。 我尝试使用相同的端点/ socialName / login,但现在super.loadAuthentication(accessToken) UserInfoTokenServices抛出:

Getting user info from: https://www.googleapis.com/oauth2/v2/userinfo
Could not fetch user details: class org.springframework.web.client.HttpClientErrorException, 401 Unauthorized

如何解决?或者在这种情况下该怎么做?

0 个答案:

没有答案