@SuppressWarnings("serial")
@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter implements Serializable {
@Bean
ClientRegistration oktaClientRegistration(@Value("${security.oauth2.resource.user-info-uri}") final String token_uri,
@Value("${oauth2.client-id}") final String client_id,
@Value("${oauth2.client-secret}") final String client_secret,
@Value("${oauth2.scope}") final String scope,
@Value("${oauth2.grant-type}") final String authorizationGrantType) {
return ClientRegistration.withRegistrationId("whatsapp").tokenUri(token_uri).clientId(client_id).clientSecret(client_secret).scope(scope)
.authorizationGrantType(new AuthorizationGrantType(authorizationGrantType)).build();
}
@Bean
ClientRegistrationRepository clientRegistrationRepository(final ClientRegistration oktaClientRegistration) {
return new InMemoryClientRegistrationRepository(oktaClientRegistration);
}
@Bean
OAuth2AuthorizedClientService auth2AuthorizedClientService(final ClientRegistrationRepository clientRegistrationRepository) {
return new InMemoryOAuth2AuthorizedClientService(clientRegistrationRepository);
}
@Bean
AuthorizedClientServiceOAuth2AuthorizedClientManager authorizedClientServiceAndManager(final ClientRegistrationRepository clientRegistrationRepository, final OAuth2AuthorizedClientService authorizedClientService) {
final OAuth2AuthorizedClientProvider authorizedClientProvider = OAuth2AuthorizedClientProviderBuilder.builder().clientCredentials().build();
final AuthorizedClientServiceOAuth2AuthorizedClientManager authorizedClientManager = new AuthorizedClientServiceOAuth2AuthorizedClientManager(clientRegistrationRepository, authorizedClientService);
authorizedClientManager.setAuthorizedClientProvider(authorizedClientProvider);
return authorizedClientManager;
}
}
oauth2:
issue: http://localhost:18000/auth-api/oauth/token
client-secret: 292yu98y2983e28ue928u39e82ue982ue982
client-id: 0oa7km6o1AEDdbuUq4x7
scope: mod_custom
grant-type: client_credentials
Como fazer este escopo gerar um token para outras aplicações acessar ?