heph Authentik: grant offline_access scope (fixes spoke sync refresh-token 400) #371
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "heph-offline-access"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Add the
offline_accessscope mapping to the AuthentikhephOAuth2 provider (argocd/manifests/authentik/configmap-blueprint.yaml,heph-providerblock).Why
The hephaestus spoke (gilbert) lost sync with the hub (indri): hephd's
refresh_tokengrant was rejected by Authentik with400 Bad Request, so the bearer token couldn't be refreshed andheph sync --statusshowedauth_failure: true.Root cause: the
hephCLI requestsscope = "openid offline_access", but the provider only mappedopenid/email/profile. Withoutoffline_accessgranted, the refresh token is bound to the login session instead of the 30-day refresh-token window. When the session lapses, refresh fails and sync silently degrades.heph auth loginonly fixes it until the next session expiry.Verification done pre-merge
offline_accessscope mapping (goauthentik.io/providers/oauth2/scope-offline_access), so!Findbyscope_nameresolves without declaring a new mapping. Verified viaak shellon the ringtail worker pod.Verify after deploy
heph auth login --hub-url http://indri.tail8d86e.ts.net:8787 --issuer https://authentik.ops.eblu.me/application/o/heph/ --client-id hephoffline_accessin the grantedscope.heph sync --status→auth_failure: false, freshlast_success_ms.Changes
property_mappings+=offline_access(with inline rationale comment)docs/reference/services/hephaestus.md: document theoffline_accessrequirementheph task:
01KTFRWXFAD4Q1MDXKJ87WZD34🤖 Generated with Claude Code