Keycloak: erinevus redaktsioonide vahel
Resümee puudub |
Resümee puudub |
||
108. rida: | 108. rida: | ||
* Client -> 'client_wp2' -> Settings -> Valid Redirect URIs - see väärtus vaadatakse Wordpress 'Callback URL' lahtrist (vt 'Wordpress ettevalmistamine' punkti) -> Save |
* Client -> 'client_wp2' -> Settings -> Valid Redirect URIs - see väärtus vaadatakse Wordpress 'Callback URL' lahtrist (vt 'Wordpress ettevalmistamine' punkti) -> Save |
||
* Client -> 'client_wp' -> Settings -> Mappers -> Name - mapper_wp2, Mapper Type - Group Membership, Full group path - off, Add to ID token - off, Add to access token - off -> Save |
* Client -> 'client_wp' -> Settings -> Mappers -> Name - mapper_wp2, Mapper Type - Group Membership, Full group path - off, Add to ID token - off, Add to access token - off -> Save |
||
+ | |||
+ | Tulemusena on kasutada kaks keycloak webgui liidest |
||
+ | |||
+ | * halduri liides - http://192.168.110.221:8181/auth/admin/ |
||
+ | * lõppkasutaja liides - http://192.168.110.221:8181/auth/realms/realm_wp2/account/ |
||
Seejärel jätkata Wordpress plugin seadistamist. |
Seejärel jätkata Wordpress plugin seadistamist. |
Redaktsioon: 16. oktoober 2022, kell 12:44
Sissejuhatus
TODO
Tõõpõhimõte
TODO
Käesolevas tekstis kirjeldatakse Wordpress ja Keycloak kasutamist Dockerhost keskkonnas
- wordpress v. 5.9
- keycloak v. 12.x
- wordpress miniorange oauth-keycloak pluginat - tundub, et tasuta juhul on võimalik samaaegselt kasutada ühte iDP teenusepakkujat st keycloak'i
Seadistamisel tuleb Wordpress ja Keycloak webgui liideste vahel mõned korrad vaheldumisi liikuda, see võib esmapilgul tunduda kohmakas ja segadust tekitav. Seejuures teatud 'Test xxx' nuppude pressimine ei anna ootuspärast tulemust. Tundub, et seda saab ignoreerida.
Wordpress paigaldamine
Docker-compose seadistamine
root@docker:~/wp2# pwd /root/wp2 root@docker:~/wp2# cat docker-compose.yml version: '3.1' services: wordpress: image: wordpress:5.9.3-php8.1-apache restart: always ports: - 8686:80 environment: WORDPRESS_DB_HOST: db WORDPRESS_DB_USER: exampleuser WORDPRESS_DB_PASSWORD: parool WORDPRESS_DB_NAME: exampledb volumes: - wordpress2:/var/www/html db: image: mysql:5.7 restart: always environment: MYSQL_DATABASE: exampledb MYSQL_USER: exampleuser MYSQL_PASSWORD: parool MYSQL_RANDOM_ROOT_PASSWORD: '1' volumes: - db2:/var/lib/mysql volumes: wordpress2: db2:
kus
- TODO
Esmakordne käivitamine
root@docker:~/wp2# docker-compose up
Tulemusena töötavad kaks konteinerit: mysql ja wordpress. Aadressil http://192.168.110.221:8686/ on ligipääsetav Wordpress installer, see tuleb läbida järgmisena. Kokkuvõttes on kasutada paigaldatud ja seadistatud Wordpress rakendus tavalisel viisil.
Järgmised käivitamised
TODO
Keycloak paigaldamine
Keycloak v. 12.0 paigaldamiseks ja käivitamiseks sobib öelda
# docker run -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=parool -p 8080:8080 --name=keycloak jboss/keycloak:12.0.4
kus
- TODO
Tulemusena saab logida sisse aadressil http://192.168.110.221:8181/auth/
Administration Console
Wordpress ja Keycloak integratsioon
Wordpress ja Keycloak integratsioon toimub webgui liidestes.
Keycloak ettevalmistamine
TODO
Lisada uus Realm
- Add realm - 'realm_wp2'
- Roles -> Add Role -> 'editor'
- Users -> Add user -> Username - priit, Email - priit@xxx, Fist Name - xxx Last Name - xxx
- Users -> priit -> Credentials -> Password - xxx, Password Confirmation - xxx, Temporary - off
- Users -> priit -> Role Mapping -> lisada kasutajale 'editor' roll
- Groups -> Add new -> 'group_wp2'
- User -> Groups -> lisada kasutajale grupp 'group_wp2'
- Client -> Add Client -> Client ID - 'client_wp2', Client Protocol - 'openid-connect'
- Client -> 'client_wp2' -> Settings -> Access-Type - confidential
- Client -> 'client_wp2' -> Settings -> Valid Redirect URIs - see väärtus vaadatakse Wordpress 'Callback URL' lahtrist (vt 'Wordpress ettevalmistamine' punkti) -> Save
- Client -> 'client_wp' -> Settings -> Mappers -> Name - mapper_wp2, Mapper Type - Group Membership, Full group path - off, Add to ID token - off, Add to access token - off -> Save
Tulemusena on kasutada kaks keycloak webgui liidest
- halduri liides - http://192.168.110.221:8181/auth/admin/
- lõppkasutaja liides - http://192.168.110.221:8181/auth/realms/realm_wp2/account/
Seejärel jätkata Wordpress plugin seadistamist.
Wordpress ettevalmistamine
oauth plugin lisamiseks on sobiv avada
Plugins -> Add New -> 'OAuth Single Sign On – SSO (OAuth Client) by miniOrange' -> Install Now, Activate, otsida keycloak ja lisada
Wordpress keycloak plugin seadistamine
- Setting up a Relying Party -> Callback URL - wordpress ütleb, et see on 'http://192.168.110.221:8686' ja see väärtus kopeeritakse Keycloak webgui liideses asukohta 'Valid Redirect URIs'
Peale Keycloak ettevalmistamist jätakase Wordpress plugin seadistamist
- Provider Metadata -> App name - keycloak
- Provider Metadata -> Doamin - http://192.168.110.221:8181/
- Provider Metadata -> Realm - realm_wp2
ning
- Client Credentials Setup -> Client ID - client_wp2
- Client Credentials Setup -> Client Secret - vaadata keycloak juures avades Client -> 'client_wp2' -> Settings -> Credentials - Secret
- Client Credentials Setup -> Client Scopes - openid, email, profile (default)
- pressida Finish
Seejärel pressida WP plugin webgui liideses
- Attribute/Role Mapping -> Username - 'name' -> Save
Tulemusena peab saama worpress webgui peale sisse logida keycloak kasutajana
- http://192.168.110.221:8686/wp-login.php
- Login with Keycloak
Probleemid
- väljalogimine ei tööta - välja logimiseks sobib esmalt kustutada Keycloak webgui liideses kasutaja sessioon (Users -> priit -> Sessions -> delete) ja seejärel wp webgui liideses Logout
Märkused
- kui juba töötavas süsteemis ringi klõpsida, siis mõned kohad, mis esmase seadistamise käigus ei paistnud töötavat, on hakanud käima nt
WP -> Plugins -> miniOrange -> Configure OAuth -> Attribute/Role Mapping -> Username - saab valida manual ja auto mode vahel, auto mode puhul on näha dropdown nimekirja võimalike väärtustega