Semaphore UI
Sign in to Semaphore UI with Pocket ID.
Create the client in Pocket ID
Section titled “Create the client in Pocket ID”- In Pocket ID, open Administration → OIDC Clients and click Add OIDC Client.
- Enter a name such as
Semaphore UIand add the callback URLhttps://semaphore.example.com/api/auth/oidc/pocketid/redirect/. - Click Create and copy the Client ID and the Client secret. The client secret is only shown once.
- On the client’s Access tab, select the groups that may sign in under Allowed User Groups, or choose All Users.
Configure Semaphore UI
Section titled “Configure Semaphore UI”Add the following to your config.json file for Semaphore UI:
"oidc_providers": { "pocketid": { "display_name": "Sign in with Pocket ID", "provider_url": "https://id.example.com", "client_id": "<client-id>", "client_secret": "<client-secret>", "redirect_url": "https://semaphore.example.com/api/auth/oidc/pocketid/redirect/", "scopes": [ "openid", "profile", "email" ], "username_claim": "email", "name_claim": "given_name" }}Semaphore UI versions after 2.14 support a Docker environment variable for this.
A single environment variable, SEMAPHORE_OIDC_PROVIDERS, lets you configure providers using a JSON string matching the oidc_providers structure.
SEMAPHORE_OIDC_PROVIDERS: >- { "pocketid": { "display_name":"Sign in with Pocket ID", "provider_url":"https://id.example.com", "client_id":"<client-id>", "client_secret":"<client-secret>", "redirect_url":"https://semaphore.example.com/api/auth/oidc/pocketid/redirect/", "scopes": [ "openid", "profile", "email" ], "username_claim":"email", "name_claim":"given_name" } }