package auth // OIDCConfig holds the OIDC provider configuration type OIDCConfig struct { Issuer string `json:"issuer"` AuthURL string `json:"authorization_endpoint"` TokenURL string `json:"token_endpoint"` UserInfoURL string `json:"userinfo_endpoint"` JWKSURL string `json:"jwks_uri"` ScopesSupported []string `json:"scopes_supported"` } // TokenResponse represents the response from token exchange type TokenResponse struct { AccessToken string `json:"access_token"` IDToken string `json:"id_token"` RefreshToken string `json:"refresh_token"` TokenType string `json:"token_type"` ExpiresIn int `json:"expires_in"` } // UserInfo represents user information from the OIDC provider type UserInfo struct { Sub string `json:"sub"` Email string `json:"email"` EmailVerified bool `json:"email_verified"` Name string `json:"name"` PreferredUsername string `json:"preferred_username"` Groups []string `json:"groups,omitempty"` }