一个来自org.springframework.social.oauth2中的枚举类
public enum TokenStrategy { /** * Indicates that the access token should be carried in the Authorization header as an OAuth2 Bearer token. */ AUTHORIZATION_HEADER { public ClientHttpRequestInterceptor interceptor(String accessToken, OAuth2Version oauth2Version) { return new OAuth2RequestInterceptor(accessToken, oauth2Version); } }, /** * Indicates that the access token should be carried as a query parameter named "access_token". */ ACCESS_TOKEN_PARAMETER { public ClientHttpRequestInterceptor interceptor(String accessToken, OAuth2Version oauth2Version) { return new OAuth2TokenParameterRequestInterceptor(accessToken); } }, /** * Indicates that the access token should be carried as a query parameter named "oauth_token". */ OAUTH_TOKEN_PARAMETER { public ClientHttpRequestInterceptor interceptor(String accessToken, OAuth2Version oauth2Version) { return new OAuth2TokenParameterRequestInterceptor(accessToken, "oauth_token"); } }; abstract ClientHttpRequestInterceptor interceptor(String accessToken, OAuth2Version oauth2Version); }
每个枚举属性都实现了下面的抽象方法,查看源码又涨知识了。