我使用Spring +的OAuth2保護Web服務隊令牌和我添加了一個自定義的交付式(定製補助金):春季安全和OAuth2用戶生成定製的交付式
<bean id="myTokenGranter" class="com.example.oauth2.MyTokenGranter" />
<oauth:authorization-server client-details-service-ref="client-details-service" token-services-ref="tokenServices">
<oauth:refresh-token/>
<oauth:password/>
<oauth:custom-grant token-granter-ref="myTokenGranter" />
</oauth:authorization-server>
春調用執行正好。但是我不知道我該如何在這裏實際生成一個令牌。我發現他們使用了一個名爲「RandomValueStringGenerator」的類,但我不確定是否沒有更好的方法,而且我不知道如何生成一個「好」的令牌,因爲它應該是多長時間,或者如果spring檢查令牌的唯一性實際上等等。有沒有一種方法可以在這裏調用Spring自己的生成器部分?
這是我現在tokengranter類:
public class MyTokenGranter implements TokenGranter {
private RandomValueStringGenerator generator = new RandomValueStringGenerator();
@Override
public OAuth2AccessToken grant(String grantType, TokenRequest tokenRequest) {
//...logic added here later
return new DefaultOAuth2AccessToken(generator.generate());
}
}
我不能找到一個很好的例子,還有半隻實現測試tokengranter春季ouath2來源。
也有org.springframework.security.oauth2.provider.token.AbstractTokenGranter我可以延長,但我不知道如何通過構造PARAMS在我xml配置? – breakline 2015-03-13 14:09:02