2017-12-20 30 views
2

スプリングブートアプリケーションをより安全にするための助けが必要です。スプリングブートとキークローズ

現在、セキュリティは実装されていないRESTful APIがあります。 このAPIは、HTTPリクエスト(GET、POST、PUT ...)を介して別のスプリングブートアプリケーションからアクセスされます。

最近、私はREDHATチュートリアルで、キークローズを使用して安全なスプリングブートアプリケーションを作成する方法を説明しました。

このセキュリティの組み合わせ(springsecurity-keycloak)を、クライアントとしてデスクトップアプリケーション(Javaでも)を持つs​​pringbootアプリケーションに使用するにはどうすればいいか学びたいと思う。どんな助言も便利です。

1)春ブーツ用Keycloak Adapterを使用するか:

はあなたがここに2つのオプションがあり、 セルソ

答えて

0

、ありがとうございました。

2)またはKeyCloakでSpring OAuth2パッケージを使用してください(Keycloakは別のOAuth2サーバーなので)。ここにKeycloakから渡されたJWT(共有キーに基づいている)を使っているサンプルの設定があります:

@Configuration 
@EnableResourceServer 
@EnableGlobalMethodSecurity(prePostEnabled = true) 
public class JwtSecurityConfig extends ResourceServerConfigurerAdapter{ 

    @Override 
    public void configure(ResourceServerSecurityConfigurer config) { 
     config.tokenServices(createTokenServices()); 
     config.resourceId(the aud claim that you setup under Keycloak/realm/mappers); 
    } 

    @Bean 
    public DefaultTokenServices createTokenServices() { 
     DefaultTokenServices defaultTokenServices = new DefaultTokenServices(); 
     defaultTokenServices.setTokenStore(createTokenStore()); 
     return defaultTokenServices; 
    } 

    private TokenStore createTokenStore(){ 
     return createJwtTokenStore(); 
    } 

    @Bean 
    public TokenStore createJwtTokenStore() {    
     return new JwtTokenStore(createJwtAccessTokenConverter()); 
    } 

    @Bean 
    public JwtAccessTokenConverter createJwtAccessTokenConverter() { 
     JwtAccessTokenConverter converter = new JwtAccessTokenConverter(); 
     converter.setSigningKey(shared secret that is configured in keycloak client); 
     return converter; 
    } 
} 
+0

本当にありがとう、私は本当にあなたの注目をいただきありがとうございます。 ご不便をおかけしない場合は、[こちらの記事](https://stackoverflow.com/questions/48027176/simple-example-using)のより素朴な回答をお寄せください。 -spring-boot-and-keycloack)を使用します。 もう一度、ありがとうございます。 –

関連する問題