From 9fe2ed9a4684c8a51cd3d7d441fe033ef4b77ca0 Mon Sep 17 00:00:00 2001 From: Joakim Pettersen Date: Tue, 28 Mar 2023 11:29:13 +0200 Subject: [PATCH] docs(oidc): firezone integration (#5125) This adds a Firezone VPN integration with OpenID Connect 1.0. --- .../openid-connect/firezone/firezone.png | Bin 0 -> 37670 bytes .../openid-connect/firezone/index.md | 96 ++++++++++++++++++ 2 files changed, 96 insertions(+) create mode 100644 docs/content/en/integration/openid-connect/firezone/firezone.png create mode 100644 docs/content/en/integration/openid-connect/firezone/index.md diff --git a/docs/content/en/integration/openid-connect/firezone/firezone.png b/docs/content/en/integration/openid-connect/firezone/firezone.png new file mode 100644 index 0000000000000000000000000000000000000000..5e2721fa6b7c1070a84dd21d3c9cf0dabc16d4bf GIT binary patch literal 37670 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/callback`. + This means if you change this value you need to update the redirect URI. + +## Configuration + +### Application + +To configure [Firezone] to utilize Authelia as an [OpenID Connect 1.0] Provider: + +1. Visit your [Firezone] site +2. Sign in as an admin +3. Visit: + 1. Settings + 2. Security +4. In the `Single Sign-On` section, click on the `Add OpenID Connect Provider` button +5. Configure: + 1. Config ID: `authelia` + 2. Label: `Authelia` + 3. Scope: `openid email profile` + 4. Client ID: `firezone` + 5. Client secret: `insecure_secret` + 6. Discovery Document URI: `https://auth.example.com/.well-known/openid-configuration` + 7. Redirect URI (optional): `https://firezone.example.com/auth/oidc/authelia/callback` + 8. Auto-create users (checkbox): `true` + +{{< figure src="firezone.png" alt="Firezone" width="500" >}} + +Take a look at the [See Also](#see-also) section for the cheatsheets corresponding to the sections above for their +descriptions. + +### Authelia + +The following YAML configuration is an example __Authelia__ +[client configuration](../../../configuration/identity-providers/open-id-connect.md#clients) for use with [Firezone] which +will operate with the above example: + +```yaml +- id: firezone + description: Firezone + secret: '$pbkdf2-sha512$310000$c8p78n7pUMln0jzvd4aK4Q$JNRBzwAo0ek5qKn50cFzzvE9RXV88h1wJn5KGiHrD0YKtZaR/nCb2CJPOsKaPK0hjf.9yHxzQGZziziccp6Yng' # The digest of 'insecure_secret'. + public: false + authorization_policy: two_factor + enforce_pkce: true + pkce_challenge_method: S256 + redirect_uris: + - https://firezone.example.com/auth/oidc/authelia/callback + scopes: + - openid + - email + - profile + userinfo_signing_algorithm: none +``` + +## See Also + +- [Firezone OIDC documentation](https://www.firezone.dev/docs/authenticate/oidc/) + +[Authelia]: https://www.authelia.com +[Firezone]: https://www.firezone.dev +[OpenID Connect 1.0]: ../../openid-connect/introduction.md