aboutsummaryrefslogblamecommitdiff
path: root/docs/keycloak.org
blob: cd6e773374122b0fe67c8d4d9e162fdeef552c6c (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11

          
                                

                                   





                                                                               

                     
                                  








                                                                                                     











                                                                                                                                               
                                                                                                  
* Keycloak

Running at https://id.fcuny.net.

There's an admin user in 1password.
** Bootstrap
#+begin_src shell
ssh keycloak-host -L 8080:localhost:8080
#+end_src

Then go to =http://localhost:8080= with your browser to setup the initial user.

** Client for forgejo
The client is managed by terranix.
*** forgejo configuration
- create a new authentication source under https://code.fcuny.net/admin/auths
- choose OAuth2
- set the name to =id.fcuny.net=
- set OAuth2 provider to OpenID Connect
- configure the OpenID realm to =https://id.fcuny.net/realms/master/.well-known/openid-configuration=
- the client ID is =forgejo=
- the client secret is in the =credentials= tab in forgejo for the client
- select =skip local 2FA=
** Managing with terranix
Ultimately we want to manage it with terranix.

First, we need a client ID and a secret. The client can be created in the UI:
- https://id.fcuny.net/admin/master/console/#/master/clients
- create a new client (use =terranix= if possible, so that it's descriptive)
- =Standard Flow Enabled= should be disabled
- =Direct Access Grants Enabled= should be disabled
- =Service Accounts Enabled= should be enabled

The go to "Service account roles" for the newly created client, and ensure it has =admin= role (assign role -> filter by realm roles -> admin).

Export the secret with =KEYCLOAK_CLIENT_SECRET= (it might be already be set in =../.envrc.local=).