What problem does it solve? Self-hosted Supabase deployments do not expose identity provider configuration, so built-in OAuth cannot be used. This Skill implements a full OAuth2/OIDC flow where Next.js acts as the OAuth client, handling token exchange, claim extraction, JIT user provisioning, and session establishment. ## Core Features & Use Cases - OAuth Proxy Flow with PKCE: Generates PKCE verifiers, encrypts state with AES-256-GCM, and handles the authorization code exchange against any OIDC provider. - Multi-Provider Support: Ships configurations for Azure AD, Google, Okta, Auth0, and generic OIDC providers, with multi-source claim extraction (access_token, id_token, userinfo) and email claim normalization across 8 claim name variants. - Supabase JIT Provisioning: Finds or creates users via the Admin API, generates sessions through the magic link + OTP workaround, and sets cookies correctly via supabase.auth.setSession(). - Use Case: Add SSO login to a Buildpad DaaS application backed by self-hosted Supabase, where employees authenticate through the company Azure AD tenant and are provisioned automatically on first login. ## Quick Start Add external OAuth login to my Next.js app using the add-external-oauth skill with Azure AD as the identity provider.