您好我正在寻找Spring安全性的一些帮助,我有一个服务于IOS和Android堆栈的Spring REST API,我们有一个oauth / token端点,用于登录到应用程序,确认后它会发送回令牌。它是一个弹出的弹簧安全类org.springframework.security.oauth2.provider.endpoint。我正在尝试从响应中向用户发送响应中的其他信息,以便在登录时整合来自移动设备的api呼叫。我不知道该怎么做,或者最好的方法是什么......我应该创建一个新的TokenEndpoint类吗?这就是我为spring-security配置的一些XML的方法。
<!-- OAUTH CONFIGS -->
<bean id="oauthAuthenticationEntryPoint" class="org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint">
<property name="realmName" value="hcnavigator" />
</bean>
<bean id="clientCredentialsTokenEndpointFilter" class="org.springframework.security.oauth2.provider.client.ClientCredentialsTokenEndpointFilter">
<property name="authenticationManager" ref="clientAuthenticationManager" />
</bean>
<bean id="accessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased">
<constructor-arg>
<list>
<bean class="org.springframework.security.oauth2.provider.vote.ScopeVoter" />
<bean class="org.springframework.security.access.vote.RoleVoter" />
<bean class="org.springframework.security.access.vote.AuthenticatedVoter" />
</list>
</constructor-arg>
</bean>
答案 0 :(得分:0)
TokenEnhancer(http://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/provider/token/TokenEnhancer.html)就是您所需要的。您可以将其注入令牌服务(http://docs.spring.io/spring-security/oauth/apidocs/org/springframework/security/oauth2/provider/token/DefaultTokenServices.html)。生成令牌后将调用TokenEnhancer,您可以在其enhance(...)
方法中为令牌响应添加其他信息。