Step 2: Configure OAuth Client
What You'll Learn
Configuration Methods
Method 1: Discovery Configuration (Recommended)
// Automatic configuration using discovery
async function createOAuthConfig() {
const discoveryUrl = 'https://account.oten.com/.well-known/openid-configuration';
const response = await fetch(discoveryUrl);
const discoveryConfig = await response.json();
return {
// Client credentials (from Oten registration)
clientId: process.env.OTEN_CLIENT_ID,
clientSecret: process.env.OTEN_CLIENT_SECRET,
// Automatically discovered endpoints
authorizationURL: discoveryConfig.authorization_endpoint,
tokenURL: discoveryConfig.token_endpoint,
userInfoURL: discoveryConfig.userinfo_endpoint,
jwksURI: discoveryConfig.jwks_uri,
issuer: discoveryConfig.issuer,
// Application settings
redirectURI: process.env.OTEN_REDIRECT_URI,
scopes: ['openid', 'profile', 'email'],
// OAuth flow settings
responseType: 'code',
grantType: 'authorization_code'
};
}
// Usage
const config = await createOAuthConfig();Method 2: Manual Configuration
Oten IDP Endpoints
Primary Endpoints
Discovery Endpoint Usage
Environment Variables Setup
Create Environment File
Load Environment Variables
Technology-Specific Configurations
Node.js with openid-client
Python with Authlib
Java Spring Boot
C# ASP.NET Core
π Client Types and Security
Confidential Clients (Server-Side)
Public Clients (Client-Side)
π― Scope Configuration
Standard Scopes
Dynamic Scope Selection
Advanced Configuration Options
Timeout Settings
Custom Headers
π§ͺ Testing Your Configuration
Configuration Validation
Test Authorization URL Generation
π Configuration Troubleshooting
Common Issues
Invalid Client ID
Redirect URI Mismatch
Debug Configuration
Configuration Checklist
Navigation
Last updated