githubEdit

OIDC (Open ID Connect)

OpenID Connect is an authentication layer built on OAuth 2.0. Testing focuses on token manipulation, redirect vulnerabilities, and misconfigurations.

Common Implementations

- Keycloak (Red Hat)
- Okta
- Auth0
- Azure AD
- Amazon Cognito (AWS)
- Google Identity
- GitLab
- Bitbucket Server (Atlassian)
- Salesforce

Discovery & Enumeration

Well-Known Endpoints

# OIDC Configuration (always check this first)
curl https://target.com/.well-known/openid-configuration | jq

# Returns:
# - authorization_endpoint
# - token_endpoint
# - userinfo_endpoint
# - jwks_uri (JSON Web Key Set)
# - supported scopes, claims, grant types

# OAuth 2.0 Authorization Server Metadata
curl https://target.com/.well-known/oauth-authorization-server | jq

# WebFinger (for email-based discovery)
curl "https://target.com/.well-known/webfinger?resource=acct:[email protected]"

Key Endpoints to Test

Token Attacks

ID Token Manipulation

Token Substitution

Refresh Token Abuse

Redirect URI Attacks

Open Redirect

Token Leakage via Redirect

SSRF via OIDC

State & Nonce Bypass

Scope Abuse

Specific Provider Attacks

Keycloak

Azure AD

AWS Cognito

Tools

  • OAuth - OIDC is built on OAuth 2.0

  • JWT - ID tokens are JWTs

  • SSRF - URI parameters can be SSRF vectors

Last updated

Was this helpful?