maj et amelioration doc keycloak
This commit is contained in:
parent
7f5c71e2db
commit
2b19114299
|
@ -4,28 +4,30 @@
|
|||
title: HowtoKeycloak
|
||||
...
|
||||
|
||||
[Keycloak](https://www.keycloak.org/) est un serveur d'authentification et d'autorisation écrit en Java, c'est un "Identity Access Manager" *IAM* open-source permettant de faire du Single-Sign-On et Single-Sign-Out *SS0*, c'est à dire d'utiliser un seul compte pour se (dé-)connecter à différents services.
|
||||
[Keycloak](https://www.keycloak.org/) est un serveur d'authentification et d'autorisation écrit en Java, c'est un "Identity Access Manager" *IAM* open-source permettant de faire du Single-Sign-On et Single-Sign-Out *SS0*, c'est à dire d'utiliser un seul compte pour se connecter à différents services.
|
||||
|
||||
## Installation
|
||||
|
||||
liens : [documentation officielle](https://www.keycloak.org/getting-started/getting-started-zip), [git de keycloak](https://github.com/keycloak/keycloak/releases)
|
||||
|
||||
Installer Keycloak en dur avec OpenJDK
|
||||
Installer Keycloak sur son hote avec OpenJDK (openjdk-17 pour Keycloak 23)
|
||||
|
||||
```{.bash}
|
||||
# apt install openjdk-11-jre
|
||||
# apt install openjdk-17-jre
|
||||
```
|
||||
|
||||
Lister les releases
|
||||
|
||||
```{.bash}
|
||||
$ git ls-remote --tags https://github.com/keycloak/keycloak
|
||||
...
|
||||
99774b3f7a776476e7f04e472e13e3915971a6fb refs/tags/21.1.2
|
||||
```
|
||||
|
||||
Récupérer et extraire le zip de la release souhaité
|
||||
Récupérer et extraire le zip de la release souhaitée
|
||||
|
||||
```{.bash}
|
||||
$ keycloak_release=21.1.1
|
||||
$ keycloak_release=23.0.3
|
||||
$ keycloak_zip=keycloak-${keycloak_release}.zip
|
||||
$ wget https://github.com/keycloak/keycloak/releases/download/${keycloak_release}/keycloak-${keycloak_release}.zip
|
||||
$ unzip $keycloak_zip
|
||||
|
@ -33,14 +35,9 @@ Récupérer et extraire le zip de la release souhaité
|
|||
$ keycloak_folder=${keycloak_zip%".zip"}
|
||||
```
|
||||
|
||||
## Configuration
|
||||
On peut alors lancer Keycloak en mode *dev* pour tester ou développer des theme keycloak en configurant son admin:
|
||||
|
||||
> Note : on peut lancer keycloak en mode *dev* sans aucune configuration pour tester voir [administration](#administration)
|
||||
On supposera que nous nous trouvons dans le dossier d'installation Keycloack
|
||||
|
||||
### Créer un administrateur
|
||||
|
||||
*Ou au lancement du serveur*
|
||||
* *Au lancement du serveur*
|
||||
|
||||
```{.bash}
|
||||
export KEYCLOAK_ADMIN=<username>
|
||||
|
@ -48,40 +45,37 @@ On supposera que nous nous trouvons dans le dossier d'installation Keycloack
|
|||
bin/kc.sh start-dev
|
||||
```
|
||||
|
||||
*En mode "click"*
|
||||
* *Ou en mode "click"*
|
||||
|
||||
Se connecter à http://localhost:8080/ et créer un username et password admin
|
||||
|
||||
Se connecter à http://localhost:8080/admin avec les identifiant admin
|
||||
|
||||
### Base de donnée
|
||||
Pour Lancer en production, il va falloir plus de configuration... voir [configuration](#configuration)
|
||||
|
||||
Keycloak en production à besoin d'un accés à une base de donné
|
||||
## Configuration pour de la production
|
||||
|
||||
On peut specifier la configation via des envs, arguments, fichier de configuration ou KeyStore java
|
||||
Ici simplifier on configurera via son fichier de configuration dans `$keycloak_folder/conf/keycloak.conf`
|
||||
On supposera que nous nous trouvons dans le dossier d'installation Keycloack
|
||||
|
||||
### Base de données
|
||||
|
||||
Keycloak en production à besoin d'un accès à une base de donné
|
||||
|
||||
lien : [documentation keycloak configuration bdd](https://www.keycloak.org/server/db)
|
||||
|
||||
> Note : par défaut le schéma sera `keyclaok` est utilisé
|
||||
**Mariadb**
|
||||
Il faut créer une base de donnée (par défaut le schéma `keycloak`) et utilisateur associé pour Keycloak
|
||||
|
||||
pour l'installation et la configuration de Mariadb voir [/HowtoMySQL]()
|
||||
* [HowtoPostgreSQL](/HowtoPostgreSQL.md#créer-un-utilisateur-et-une-base-de-données)
|
||||
|
||||
Il faut créer une base de donnée et utilisateur associé pour Keycloak
|
||||
* [HowtoMySQL](/HowtoMySQL.md#créer-une-base-de-données-et-un-utilisateur-associé)
|
||||
|
||||
```{.bash}
|
||||
db_name=keycloak
|
||||
user=evocloak
|
||||
# mysqladmin create $db_name
|
||||
# mysql
|
||||
mysql> GRANT ALL PRIVILEGES ON $db_name.* TO '$user'@'%' IDENTIFIED BY '$password';
|
||||
```
|
||||
* Configuration par via fichier configuration
|
||||
|
||||
(Recommandé) Configuration par via fichier configuration
|
||||
> TODO
|
||||
|
||||
Modifier le fichier `conf/keycloak.conf`
|
||||
|
||||
TODO montrer modif faire etc
|
||||
|
||||
Ou démarrer le serveur Keycloak en définissant les options de configuration
|
||||
* Ou démarrer le serveur Keycloak en définissant les options de configuration
|
||||
|
||||
```{.bash}
|
||||
bin/kc.sh start --db mariadb --db-url-host mymariadb --db-username evocloak --db-password change_me
|
||||
|
@ -118,8 +112,6 @@ Voir les option de démarrage / aide
|
|||
bin/kc.sh start-dev --http-port ${keycloak_http_port}
|
||||
```
|
||||
|
||||
### TODO Build et lancer en mode prod
|
||||
|
||||
### Gestion des royaumes "realm"
|
||||
|
||||
Un royaume est un ensemble isolé d'utilisateurs et d'applications géré par un administrateur
|
||||
|
|
Loading…
Reference in a new issue