2015-02-20 1 views
4

Я успешно включил конечную точку '/ oauth/check_token', используя Spring-security 3.2. * И javaconfig, но в настоящее время я ограничен Spring-security 3.1.4 а затем я привязан к XML-конфигу. Конечная точка «/ oauth/token» работает, как я хочу, но я не могу включить конечную точку check_token, и я не могу найти какую-либо (не javaconfig) документацию, объясняющую, что делать.Как включить/oauth/check_token с помощью Spring Security Oauth2 с использованием XML

Vanila Авторизация сервер конфигурация:

<oauth:authorization-server 
     client-details-service-ref="client-service" 
     token-services-ref="tokenServices" > 
    <oauth:refresh-token disabled="false" /> 
    <oauth:client-credentials disabled="false" /> 
    <oauth:password authentication-manager-ref="userAuthenticationManager" />  
</oauth:authorization-server> 

HTTP конфигурация безопасности:

<sec:http 
     auto-config="true" 
     pattern="/oauth/token" 
     create-session="stateless" 
     authentication-manager-ref="clientAuthenticationManager"> 
    <sec:intercept-url pattern="/oauth/token" access="IS_AUTHENTICATED_FULLY" /> 
    <sec:anonymous enabled="false"/> 
    <sec:http-basic entry-point-ref="clientAuthenticationEntryPoint" /> 
</sec:http> 

Я попытался добавить следующий HTTP конфигурации без успеха.

<sec:http 
     auto-config="true" 
     pattern="/oauth/check_token" 
     create-session="stateless" 
     authentication-manager-ref="clientAuthenticationManager"> 
    <sec:intercept-url pattern="/oauth/check_token" access="IS_AUTHENTICATED_FULLY" /> 
    <sec:anonymous enabled="false"/> 
    <sec:http-basic entry-point-ref="clientAuthenticationEntryPoint" /> 
</sec:http> 

, пожалуйста, любые предложения. Рабочий пример был бы замечательным.

лучший ./Kristofer

+0

Этот последний фрагмент полезен для обеспечения безопасности e ndpoint. Чтобы разоблачить его для HTTP-клиентов, вам также необходимо создать компонент типа «CheckTokenEndpoint». –

ответ

3

Используйте последнюю версию яровой OAuth2:

<dependency> 
    <groupId>org.springframework.security.oauth</groupId> 
    <artifactId>spring-security-oauth2</artifactId> 
    <version>2.0.10.RELEASE</version> 
</dependency> 

Убедитесь, что правильная версия XSD используется в весеннем конфигурации OAuth безопасности файла:

http://www.springframework.org/schema/security/spring-security-oauth2-2.0.xsd 

Вставить опцию check-token-enabled="true" в элементе authorization-server:

<oauth:authorization-server ... check-token-enabled="true"> 
... 
</oauth:authorization-server> 
4

Вы должны создать компонент типа CheckTokenEndpoint (org.springframework.security.oauth2.provider.endpoint.CheckTokenEndpoint).