Skip to content

Explore non-claims based group/org/role sync alternatives (Google, GitHub) #14685

@deansheather

Description

@deansheather

SSO providers such as Google Workspace and GitHub do not provide a groups claim and requires a separate API request or something to get the users groups for features like group sync.

Let's explore what it would take for us to hardcode group sync for specific providers and start with support for Google and GitHub since this is a milestone feature for governance. This will also allow us to use our dev environment for take homes, as we can sync people to organizations based on their GitHub org (e.g. coder-contrib adds people to the take home org).

Requirements

Must have

  • First-class support for group/role/organization sync based on groups in Google Workspace

Should have

Added GitHub here so that we can support this in our take-home envs and also validate the abstraction if we must support other OIDC providers down the road.

  • First-class support for group/role/organization sync based on organizations in GitHub

Old description

Google Workspace doesn't support adding a groups claim to auth tokens, which means Google groups cannot be synced to Coder. However, there's a non-standard API you can use (with a corresponding scope) to retrieve groups information.

Coder could support Google sign-in better if it detected a Google OIDC config (with the correct scope necessary) and automatically made the request to fetch group information.

Metadata

Metadata

Assignees

Labels

must-doIssues that must be completed by the end of the Sprint. Or else. Only humans may set this.need-backendIssues that need backend workobservabilityIssues related to observability (metrics, dashboards, alerts, opentelemetry)

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions