J'essaie d'implémenter une simple application de démo OAuth2 "Client Authentification avec Signed JWT" en utilisant Spring Boot et Keycloak comme AuthService.Implémentation de JWT, JWE et JWS (JWT signé) avec Keycloak dans Spring Boot
L'idée est:
- un service REST sécurisé "Le producteur"
- offrant un GET/personne de point final pour tous les utilisateurs/directeurs d'école avec le rôle "read_person"
- offrant un point final POST/personne pour tous les utilisateurs/principaux avec le rôle "write_person"
- un autre service (non sécurisé) REST "The Consumer"
- offrant un enpoint/api ouvert pour tout le monde
- appelant interne le "producteur" via
Feign
client en utilisant un RequestInterceptor pour passer le AccessToken (signé JWT/JWS)
Je l'ai lu la docs:
http://www.keycloak.org/docs/latest/securing_apps/topics/oidc/java/client-authentication.html
disant:
Une fois que l'application cliente est lancé, il permet de télécharger sa clé publique> au format JWKS en utilisant une URL telle que http://myhost.com/myapp/k_jwks,> en supposant que http://myhost.com/myapp est l'URL de base de votre client> application. Cette URL peut être utilisée par Keycloak (voir ci-dessous). Pendant l'authentification, le client génère un jeton JWT et le signe avec> sa clé privée et l'envoie à Keycloak dans la requête backchannel particulière> (par exemple, requête code-to-token) dans le paramètre client_assertion>.
Je googlé beaucoup à trouver des tutoriels/démos ou docs sur ce sujet, mais a échoué jusqu'à présent. Voici mes questions:
Comment puis-je mettre ce point de terminaison "k_jwk"? Est-ce que je construis simplement un
@RestController
par moi-même dans "le producteur"? Comment configurer Keycloak pour prendre connaissance de cette URL?Comment puis-je implémenter mon "Consumer" pour obtenir un nouveau JWT signé de Keycloak?
Mise à jour REMOVED irritant instruction PS.
Pourquoi vous Réimplémenter tout cela depuis que nous faisons déjà dans l'adaptateur de démarrage Spring? –
S'il vous plaît montrez-moi comment utiliser le Keycloak Adapater ici. Je ne peux pas trouver des démos ou des docs. – HaVonTe
http://www.keycloak.org/docs/latest/securing_apps/topics/oidc/java/spring-boot-adapter.html, consultez également mon blog https://developers.redhat.com/blog/2017/ 05/25/easy-secure-votre-spring-boot-applications-avec-keycloak/ou nos quickstarts https://github.com/keycloak/keycloak-quickstarts –