mirror of
https://github.com/nikdoof/pocket-id.git
synced 2025-12-14 07:12:19 +00:00
docs: Add Immich and Headscale client examples (#191)
This commit is contained in:
34
docs/docs/client-examples/headscale.md
Normal file
34
docs/docs/client-examples/headscale.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
id: headscale
|
||||
---
|
||||
# Headscale
|
||||
|
||||
## Create OIDC Client in Pocket ID
|
||||
1. Create a new OIDC Client in Pocket ID (e.g., `Headscale`).
|
||||
2. Set the callback URL: `https://<HEADSCALE-DOMAIN>/oidc/callback`
|
||||
3. Enable `PKCE`.
|
||||
4. Copy the **Client ID** and **Client Secret**.
|
||||
|
||||
## Configure Headscale
|
||||
> Refer to the example [`config.yaml`](https://github.com/juanfont/headscale/blob/main/config-example.yaml) for full OIDC configuration options.
|
||||
|
||||
Add the following to `config.yaml`:
|
||||
|
||||
```yaml
|
||||
oidc:
|
||||
issuer: "https://<POCKET-ID-DOMAIN>"
|
||||
client_id: "<CLIENT-ID>"
|
||||
client_secret: "<CLIENT-SECRET>"
|
||||
pkce:
|
||||
enabled: true
|
||||
method: S256
|
||||
```
|
||||
|
||||
### (Optional) Restrict Access to Certain Groups
|
||||
To allow only specific groups, add:
|
||||
|
||||
```yaml
|
||||
scope: ["openid", "profile", "email", "groups"]
|
||||
allowed_groups:
|
||||
- <POCKET-ID-GROUP-NAME> #example: headscale
|
||||
```
|
||||
26
docs/docs/client-examples/immich.md
Normal file
26
docs/docs/client-examples/immich.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
id: immich
|
||||
---
|
||||
# Immich
|
||||
|
||||
## Create OIDC Client in Pocket ID
|
||||
1. Create a new OIDC Client in Pocket ID (e.g., `immich`).
|
||||
2. Set the callback URLs:
|
||||
```
|
||||
https://<IMMICH-DOMAIN>/auth/login
|
||||
https://<IMMICH-DOMAIN>/user-settings
|
||||
app.immich:///oauth-callback
|
||||
```
|
||||
4. Copy the **Client ID**, **Client Secret**, and **OIDC Discovery URL**.
|
||||
|
||||
## Configure Immich
|
||||
1. Open Immich and navigate to:
|
||||
**`Administration > Settings > Authentication Settings > OAuth`**
|
||||
2. Enable **Login with OAuth**.
|
||||
3. Fill in the required fields:
|
||||
- **Issuer URL**: Paste the `Authorization URL` from Pocket ID.
|
||||
- **Client ID**: Paste the `Client ID` from Pocket ID.
|
||||
- **Client Secret**: Paste the `Client Secret` from Pocket ID.
|
||||
4. *(Optional)* Change `Button Text` to `Login with Pocket ID`.
|
||||
5. Save the settings.
|
||||
6. Test the OAuth login to ensure it works.
|
||||
@@ -61,7 +61,9 @@ const sidebars: SidebarsConfig = {
|
||||
items: [
|
||||
"client-examples/cloudflare-zero-trust",
|
||||
"client-examples/grist",
|
||||
"client-examples/headscale",
|
||||
"client-examples/hoarder",
|
||||
"client-examples/immich",
|
||||
"client-examples/jellyfin",
|
||||
"client-examples/netbox",
|
||||
"client-examples/open-webui",
|
||||
|
||||
Reference in New Issue
Block a user