2016-01-21 512 views
1

我想在我的应用程序(客户端)中使用弹簧OAUTH2sso与已安装的oauth2提供程序。通过在oauth2提供程序中配置客户端以及在客户端中配置clientId,clientSecret,accessTokenUri和userAuthorizationUri,当用户通过身份验证并授权客户端并重定向后,客户端会向我显示身份验证错误,因为springOauth2sso库没有得到用户的详细信息。Oauth2身份验证失败

白色标签错误页面申请有 /错误没有明确的映射,所以你看到这个作为后备。 Thu Jan 21 10:28:28 CET 2016有一个意外的错误(type = Unauthorized,status = 401)。 认证失败:无法从令牌

我测试了我与其他的oauth2库供应商处获得用户的详细信息,这是相当不错,但我不知道在这种情况下发生了什么。

回答

1

这个错误可以有很多不同的含义,因为它是一个包装InvalidTokenException

您的令牌可能无效,过期或者您的客户端可能存在问题,或者在检索UserDetails时甚至出现问题。

要获得有关此问题的更多信息,我建议您调试并将调试点直接放置到此错误源OAuth2ClientAuthenticationProcessingFilter。在第99行,此过滤器试图从ResourceServerTokenServices实施加载认证,如果您进入该调用,您将会发现是什么导致了您的错误。

而且我不知道我理解正确的配置,但我想你可能需要这两个属性之一:

security.oauth2.resource.token-info-uri 
security.oauth2.resource.user-info-uri 

此处了解详情:Spring Boot Docs

+0

感谢您的回答。我没有意识到我的属性中定义了错误的jwt,并且错误是invalid_token,因为库试图使用jwt读取标记。 – gleX

+0

高兴地帮助:)由于各种原因,我不得不多次调试相同的错误。当然,一开始并没有帮助,这个错误是许多可能出错的东西的包装:) – JIMI