docker run --name keycloak -p 8081:8080 -d -e KEYCLOAK_USER=user -e KEYCLOAK_PASSWORD=change jboss/keycloak:6.0.1
- Criar realm poc
- Listar os endpoints para o realm poc
GET localhost:8081/auth/realms/poc/.well-known/uma2-configuration
-
Criar um clientId do tipo client_credentials
- Menu Clients
- Create
- Client ID: poc-client
- Clicar em save
- Em Client Protocol selecionar openid-connect
- Em Access Type: selecionar confidential
- Em Authorization Enabled selecionar ON
- Em Valid Redirect URIs preencher com none
- Clicar em save
-
Criar uma role personalizada
- Menu Roles
- Clicar em Add Role
- Em Role Name preencher com manage_system_parameters
-
Criar um group personalizado
- Menu Groups
- Clicar em New
- Em Name preencher com Supervisores
- Na aba Role Mappings
- Clicar em manage_system_parameters
- Clicar em Add selected
-
Liberar acesso para gerenciar os usuários
- No menu Clients, em poc-client, acessar a aba Service Account Roles
- Em Client Roles selecionar realm-management
- Adicionar a role manager-users
-
Obter um access token para o client
- A secret está na aba Credentials do client
POST localhost:8081/auth/realms/poc/protocol/openid-connect/token \ grant_type=client_credentials \ --user poc-client:<secret>
-
Criar um usuário para o realm poc
POST localhost:8081/auth/admin/realms/poc/users Authorization:"Bearer <ACCESS_TOKEN>" \ enabled=true \ email=poc@poc.com.br \ username=Poc \ firstName=Prova \ lastName=Conceito \ attributes:='{"phone":["11-1234-5678"], "address":"Av. Paulista, 1" }'
-
Lista os usuários
GET localhost:8081/auth/admin/realms/poc/users Authorization:"Bearer <ACCESS_TOKEN>"
-
Atribuir uma senha ao usuário
PUT localhost:8081/auth/admin/realms/poc/users/<USER_ID>/reset-password Authorization:"Bearer <ACCESS_TOKEN>" \ type=password \ value=123456 \ temporary=true
-
Lista os grupos
GET localhost:8081/auth/admin/realms/poc/groups Authorization:"Bearer <ACCESS_TOKEN>"
-
Vincular o usuário a um grupo
PUT localhost:8081/auth/admin/realms/poc/users/<USER_ID>/groups/<GROUP_ID> Authorization:"Bearer <ACCESS_TOKEN>"
-
Criar o client para o frontend
- Menu Clients
- Create
- Client ID: poc-js
- RootURL: http://localhost:5000
- Client Protocol selecionar openid-connect
- Clicar em save
npm install
npm start
http --form :8081/auth/realms/poc/protocol/openid-connect/token \
grant_type=password \
username=poc \
password=123456 \
-a poc-client:<secret>
- Para multiempresa a ferramenta sugere a criação de diferentes realms.
- É possivel configurar os themes de login no menu Realm Settings, aba Themes.
- É possivel configurar os locales no menu Realm Settings, aba Themes.
- É possível alterar a duração dos tokens no menu Realm Settings, aba Tokens.