@Override
@SuppressWarnings("unchecked")
public void init(InitContext context, BeanFactory beanFactory) {
AuthorizationServerConfiguration authServerConfig = beanFactory.get(AuthorizationServerConfiguration.class);
TokenStore tokenStore = authServerConfig.getTokenStore();
UserDetailsService userService = authServerConfig.getUserDetailsService();
ClientDetailsService clientService = authServerConfig.getClientDetailsService();
DataSource dataSource = authServerConfig.getDataSource();
PreAuthenticatedAuthenticationProvider preProvider = new PreAuthenticatedAuthenticationProvider();
preProvider.setPreAuthenticatedUserDetailsService(new UserDetailsByNameServiceWrapper(userService));
DaoAuthenticationProvider clientAuthProvider = new DaoAuthenticationProvider();
clientAuthProvider.setUserDetailsService(new ClientDetailsUserDetailsService(clientService));
DaoAuthenticationProvider userAuthProvider = new DaoAuthenticationProvider();
userAuthProvider.setUserDetailsService(userService);
ProviderManager clientManager = new ProviderManager(singletonList(clientAuthProvider));
ProviderManager userManager = new ProviderManager(asList(userAuthProvider, preProvider));
AuthorizationCodeServices authServices = new InMemoryAuthorizationCodeServices();
OAuth2RequestFactory requestFactory = new DefaultOAuth2RequestFactory(clientService);
DefaultTokenServices tokenServices = tokenServices(clientService, userManager, tokenStore, dataSource);
TokenGranter tokenGranter = compositeTokenGranter(clientService, userManager, tokenServices, requestFactory,
authServices);
TokenEndpoint tokenEndpoint = new TokenEndpoint(clientManager, clientService, tokenGranter);
TokenStoreUserApprovalHandler userApprovalHandler = new TokenStoreUserApprovalHandler();
userApprovalHandler.setClientDetailsService(clientService);
userApprovalHandler.setRequestFactory(requestFactory);
userApprovalHandler.setTokenStore(tokenStore);
AuthorizationEndpoint authorizationEndpoint = new AuthorizationEndpoint(
authServices, clientService, tokenGranter, userApprovalHandler, requestFactory);
context.addControllerConfiguration(tokenEndpoint);
context.addControllerConfiguration(authorizationEndpoint);
context.addExceptionConfiguration(new OAuthExceptionConfiguration());
context.addInterceptor(new AuthenticationInterceptor(clientManager));
context.addInterceptor(new AuthorizationInterceptor());
}
OAuth2Initializer.java 文件源码
java
阅读 27
收藏 0
点赞 0
评论 0
项目:joyrest
作者:
评论列表
文章目录