OAuth2 Interactive Testing Interface

Test OAuth2 flows and explore authentication server functionality in real-time. This interface allows you to experiment with different grant types, validate configurations, and understand the authentication process.

๐Ÿ  Server Navigation

Quick access to server resources

๐Ÿ  Server Home

๐Ÿ”ง Configuration

โš™๏ธEnvironment Detection & Setup

๐ŸŒ Environment Detection

Detecting...
Loading...
Checking...
Unknown
Environment Override
Note: Production and Development environments require configuration. Use Custom environment to set your server URLs.

๐Ÿ“‹ Client Configuration

Leave empty for public clients using PKCE
Will be automatically set to current page with flow-testing anchor

๐ŸŽฏ Scope Selection

Select the permissions your application needs:

Personal User Data
Account Actions
General Entities
Urban Water
WCM
WCM Importer
Consumption Recorder
System & Administrative
โŒ Invalid Scopes (for Error Testing)
Note: These scopes are intentionally invalid and will cause errors. Use them to test error handling in your OAuth2 implementation.

๐Ÿš€ OAuth2 Flow Testing

๐Ÿ”Authorization Code Flow (Standard)

Best for web applications with a backend server that can securely store client secrets.

Required: Grant Type: authorization_code  |  Auth Methods: client_secret_basic client_secret_post

๐Ÿ›ก๏ธPKCE Authorization Code Flow

๐Ÿ›ก๏ธ Recommended for Single Page Applications (SPAs) and Mobile Apps - No client secret needed!

Required: Grant Type: authorization_code  |  Auth Method: none (public client โ€” PKCE replaces client secret)

๐Ÿ” PKCE Parameters

Will be generated
Will be generated
S256

๐Ÿ–ฅ๏ธClient Credentials Flow

Server-to-server authentication without user interaction.

Required: Grant Type: client_credentials  |  Auth Methods: client_secret_basic client_secret_post private_key_jwt
Note: none is not allowed โ€” confidential client authentication is mandatory for this grant.
Two Authentication Methods: Client Secret or JWT Client Assertion

JWT Client Assertion Configuration

Use JWT client assertions for enhanced security without sharing client secrets.

๐Ÿ“ฑDevice Authorization Flow

For input-constrained devices like smart TVs, gaming consoles, or IoT devices.

Required: Grant Type: urn:ietf:params:oauth:grant-type:device_code  |  Auth Method: none (public client โ€” device code flow does not use client secret)

๐Ÿ”„Resource Owner Password Flow

For trusted applications that can securely handle user credentials. Client secret is optional!

Required: Grant Type: password  |  Auth Methods: client_secret_basic client_secret_post none (optional for public clients)
Deprecated in OAuth 2.1 โ€” avoid for new integrations. Prefer Authorization Code + PKCE.
๐Ÿ”’ Flexible Authentication: This grant supports both traditional (with client_secret) and public client modes (without client_secret). Perfect for mobile apps and public clients!

๐Ÿ”JWT Bearer Grant (RFC 7523 ยง2.1)

Service-to-service delegated user identity. Present a signed JWT assertion (iss=client_id, sub=user) to obtain an access token on behalf of that user.

Required: Grant Type: urn:ietf:params:oauth:grant-type:jwt-bearer  |  Auth Methods: client_secret_basic client_secret_post private_key_jwt
This grant type must be explicitly enabled per client โ€” it is not active by default.
๐Ÿ›ก๏ธ Trust model: The assertion is verified using the client's registered public key (same key used for JWT Client Assertion). The sub claim is resolved to a user by email or username.
This key must match the public key registered on the client application. The assertion will be signed with RS256.
If provided, this assertion is used directly (subject and private key fields above are ignored).

๐ŸŽซ Token Management

๐Ÿ”Token Operations

Required: Grant Type: refresh_token  |  Auth Methods: same as the original flow that issued the token
Required: Grant Type: urn:ietf:params:oauth:grant-type:token-exchange  |  Auth Methods: client_secret_basic client_secret_post

๐Ÿ“ŠCurrent Token Status

-
-
-
-

๐Ÿ‘คUser Information

Retrieve user profile information using your access token via the OAuth2 userinfo endpoint.

๐Ÿ“ Note: User information availability depends on the scopes granted during authorization. Common scopes include profile, email, and openid.

๐ŸŒ Discovery & Endpoints

๐Ÿ”Endpoint Discovery

๐Ÿ“‹Available Endpoints

Authorization Endpoint: Loading...
Token Endpoint: Loading...
Introspection Endpoint: Loading...
Revocation Endpoint: Loading...
Device Authorization Endpoint: Loading...

๐Ÿ‘ค Session Management

๐Ÿ”Session Operations

๐Ÿ“ Request/Response Log

๐Ÿ“‹HTTP Traffic Monitor

Ready to log requests...

๐Ÿ”— URL & Development Tools

๐Ÿ› ๏ธDevelopment Utilities

๐Ÿ”— URL Parameter Parser

Parse OAuth2 callback URLs and extract parameters

๐Ÿ” PKCE Generator

Generate and validate PKCE code verifier/challenge pairs

๐ŸŽซ JWT Decoder

Decode and inspect JWT tokens