避免在Spring Oauth2中使用JDBCTokenStore

时间:2018-06-12 05:31:31

标签: spring-boot spring-security-oauth2

我正在创建一个spring oath2应用程序。有用。我怀疑。

根据此网址http://projects.spring.io/spring-security-oauth/docs/oauth2.html,只有2个真实选项: JdbcTokenStore,JwtTokenStore。

是否可以使用JDBCTokenStore但不在resourceServers中引用它? 我的意思是我们不能仅在AuthorizationServer中直接引用它,资源服务器可以使用AuthorizationServer中的端点,而不是配置另一个直接的JDBCTokenStore引用。

动机:希望避免在AuthorizationServer和多个ResourceServer之间共享数据库。有没有其他方法可以实现这一动机。

[R

1 个答案:

答案 0 :(得分:1)

在资源服务器中,您可以使用RemoteTokenServices。此类查询授权服务器中存在的/ check_token端点以验证令牌。

您只能为身份验证服务器和资源服务器的其他数据库建立数据库。

<bean id="tokenServices" class="org.springframework.security.oauth2.provider.token.RemoteTokenServices">
    <property name="checkTokenEndpointUrl" value="${auth.service.url:https://localhost:8443/auth-service}/oauth/check_token"/>
    <property name="clientId" value="${auth.client.name:TEST_API}"/>
    <property name="clientSecret" value="${auth.client.secret:password}"/>
    <property name="accessTokenConverter" ref="accessTokenConverter"/>
    <property name="restTemplate" ref="oauth2RestTemplate"/>
</bean>