Skip to content

IdentityProvider

An IdentityProvider configures an external identity source for user authentication to the Riptides UI and API. This is separate from daemon authentication — IdentityProviders handle human user login via OAuth2/OIDC flows, while Verifiers handle machine-to-control-plane authentication.

  • API Group: core.riptides.io
  • Version: v1alpha1
  • Kind: IdentityProvider
  • Plural: identityproviders
  • Type: string
  • Required: Yes

A human-readable display name for the identity provider (e.g., "GitHub", "Google"). Shown in the login UI.

The spec must include exactly one of the following provider configurations.

  • Type: object

Authenticate users via GitHub OAuth.

FieldTypeRequiredDescription
clientIDstringYesGitHub OAuth app client ID
clientSecretstringYesGitHub OAuth app client secret
requiredOrgsarray of objectsYesGitHub organizations the user must belong to

Each entry in requiredOrgs:

FieldTypeRequiredDescription
namestringYesGitHub organization name
teamsarray of stringNoSpecific teams within the organization (if omitted, any org member is accepted)
  • Type: object

Authenticate users via Google OAuth.

FieldTypeRequiredDescription
clientIDstringYesGoogle OAuth client ID
clientSecretstringYesGoogle OAuth client secret
requiredHostedDomainsarray of stringYesRestrict login to users from these Google Workspace domains
  • Type: object

Authenticate users via Bitbucket OAuth.

FieldTypeRequiredDescription
clientIDstringYesBitbucket OAuth consumer key
clientSecretstringYesBitbucket OAuth consumer secret
  • Type: object

A static user identity for development and testing. Not intended for production use.

FieldTypeRequiredDescription
emailstringYesUser’s email address
namestringYesUser’s display name
givenNamestringNoFirst name
familyNamestringNoLast name
nicknamestringNoNickname
preferredUsernamestringNoPreferred username
groupsarray of stringNoGroup memberships
FieldTypeDescription
statestringOne of Unspecified, Available, Failed
messagestringHuman-readable message (set on failure)
apiVersion: core.riptides.io/v1alpha1
kind: IdentityProvider
metadata:
name: github
namespace: riptides-system
spec:
name: GitHub
github:
clientID: <your-github-oauth-client-id>
clientSecret: <your-github-oauth-client-secret>
requiredOrgs:
- name: your-organization
  • OIDCClient — defines the OIDC client that works with identity providers for user login