Keycloak: Difference between revisions

m (added category nixos manual)
(Cleanup and restructuring page)
Line 1: Line 1:
'''[https://keycloak.org/ Keycloak]''' ([[wikipedia:en:Keycloak|Wikipedia]]) is identity and access management software, and can serve as an authentication server for applications (providing support for OpenID Connect, OAuth 2.0, and SAML.)
'''[https://keycloak.org/ Keycloak]''' ([[wikipedia:en:Keycloak|Wikipedia]]) is identity and access management software, and can serve as an authentication server for applications (providing support for OpenID Connect, OAuth 2.0, and SAML).


'''Keycloak''' is...
For official documentation on Keycloak please consult the [https://nixos.org/manual/nixos/stable/index.html#module-services-keycloak NixOS manual].
 
* covered in the [https://nixos.org/manual/nixos/stable/index.html#module-services-keycloak NixOS manual]
* packaged [https://search.nixos.org/packages?type=packages&query=keycloak for Nix]
* available as a [https://search.nixos.org/options?query=keycloak NixOS service]
* written in [[Java]]
* maintained by Red Hat


== Setup ==
== Troubleshooting ==
== Troubleshooting ==


Line 46: Line 41:
</nowiki>}}
</nowiki>}}


== Tips and tricks ==


== Installation in subdirectory ==
=== Installation in subdirectory ===
 
Keycloak may be installed in a subdirectory of a domain. Thus you don't need to configure and expose a subdomain. For example with the following configuration, remember to edit <code>domain.tld</code>, reflecting your used domain.
Keycloak may be installed in a subdirectory of a domain. Thus you don't need to configure and expose a subdomain. For example with the following configuration, remember to edit <code>domain.tld</code>, reflecting your used domain.


Line 101: Line 96:
</nowiki>}}
</nowiki>}}


== Keycloak themes on NixOS ==
=== Keycloak themes on NixOS ===
 
You need to create a package for your custom theme and configure the keycloak service to use it
You need to create a package for your custom theme and configure the keycloak service to use it


Line 118: Line 112:
         - keycloak_custom_theme.nix <- package for your theme
         - keycloak_custom_theme.nix <- package for your theme


=== Create a theme ===
==== Create a theme ====
 


{{file|custom.css|css|<nowiki>
{{file|custom.css|css|<nowiki>
Line 134: Line 127:
</nowiki>}}
</nowiki>}}


=== Create a package ===
==== Create a package ====
 
{{file|keycloak_custom_theme.nix|nix|<nowiki>
{{file|keycloak_custom_theme.nix|nix|<nowiki>
     { stdenv }:
     { stdenv }:
Line 154: Line 146:
</nowiki>}}
</nowiki>}}


=== Create a packages set ===
==== Create a packages set ====
 


{{file|default.nix|nix|<nowiki>
{{file|default.nix|nix|<nowiki>
Line 169: Line 160:
</nowiki>}}
</nowiki>}}


 
==== Configure your keycloak service ====
=== Configure your keycloak service ===
 
{{file|configuration.nix|nix|<nowiki>
{{file|configuration.nix|nix|<nowiki>
     { config, pkgs, lib, ... }:
     { config, pkgs, lib, ... }: