Prerequisites

Before you start integrating Oten IDP into your application, make sure you have everything you need.

Important: Authorization requirements depend on your client type:

  • Confidential Clients (Server-side): JAR (JWT-Secured Authorization Request) is REQUIRED

  • Public Clients (SPAs/Mobile): PKCE is REQUIRED, JAR is FORBIDDEN

Legacy Application Support: If your confidential client application cannot implement JAR due to technical constraints, contact [email protected]envelope to discuss alternative solutions.

📖 New to Oten IDP? Start with the Integration Flow Overview to understand the complete process.

🎯 What You'll Need

1. Oten Account Access

Or easily contact support to get your credentials.

2. Development Environment

3. JAR (JWT-Secured Authorization Request) Setup

For Confidential Clients (Server-side applications):

For Public Clients (SPAs/Mobile apps):

4. Technical Knowledge

5. Public Client Requirements (SPAs & Mobile Apps)

📖 Public Client? See the comprehensive PKCE Implementation Guidearrow-up-right for SPAs and native mobile applications.

🔒 JAR Requirement

JAR for Different Client Types

Confidential Clients (Server-side applications):

  • JAR is required for enhanced security

Public Clients (SPAs/Mobile apps):

  • JAR may not be required if PKCE is properly implemented

  • Contact support to configure public client settings

For confidential clients, JAR provides enhanced security:

  • Request Integrity: Authorization parameters cannot be tampered with

  • Confidentiality: Sensitive parameters are protected

  • Authentication: Requests are cryptographically signed

  • Replay Protection: Using JWT standard claims (jti, exp)

JAR Implementation Requirements

JAR Signing Methods

Oten IDP supports only two signing methods for JAR:

Method 1: HS256 (Client Secret) - Simpler

Uses your client secret to sign JAR requests.

Pros:

  • ✅ Simple setup - no key generation needed

  • ✅ Uses existing client secret

  • ✅ Good for development and internal apps

Cons:

  • ❌ Shared secret (less secure)

  • ❌ Client secret must be protected

Method 2: EdDSA (Ed25519 Key Pair) - More Secure

Uses Ed25519 key pair for signing JAR requests.

Pros:

  • ✅ Very secure - no shared secrets

  • ✅ Industry standard for high security

  • ✅ Recommended for production

Cons:

  • ❌ More complex setup

  • ❌ Key management required

Generate Ed25519 Key Pair for EdDSA

Using Node.js

Using OpenSSL (Command Line)

Using Python

🌐 JWKS Endpoint (Only for EdDSA)

Note: JWKS endpoint is only required for EdDSA signing. HS256 uses client secret and doesn't need JWKS.

For EdDSA (Ed25519) - JWKS Required

Example JWKS Response for EdDSA

For HS256 (Client Secret) - No JWKS Needed

When using HS256 with client secret, you don't need a JWKS endpoint because:

  • Oten already knows your client secret

  • HS256 uses symmetric signing (same secret for sign and verify)

  • No public key distribution needed

🏢 Register Your Application

🆘 IMPORTANT: Now, for easy setup, contact support to register your application because the developer portal is not ready yet.

Step 1: Access Developer Portal

  1. Log in with your Oten credentials

  2. Navigate to "Applications" section

Step 2: Create New Application

  1. Click "Create New Application"

  2. Fill in application details:

    • Application Name: Your app's display name

    • Description: Brief description of your application

    • Application Type: Web Application, SPA, or Mobile

    • Redirect URIs: Where users return after login

    • JWKS URI: Your JWKS endpoint URL (e.g., https://yourapp.com/.well-known/jwks.json)

Step 3: Configure JAR Settings

Step 4: Save Credentials

After creating the application, save these important values:

  • Client ID: Public identifier for your application

  • JWKS URI: Your public key endpoint (must be accessible)

  • Endpoints: Authorization and token URLs

Understanding Your Credentials

Client ID

  • Public identifier for your application

  • Safe to include in client-side code

  • Used in JAR and token requests

JWKS URI

  • Public endpoint hosting your signing keys

  • Must be HTTPS in production

  • Must return valid JWKS format

Endpoints

You'll need these Oten endpoints:

📚 Choose JWT Library

Select a JWT library that supports RS256 signing:

JavaScript/Node.js

Python

Java

C#/.NET

Go

Development Environment Setup

Environment Variables

Create a .env file (never commit to version control):

Testing Checklist

Before proceeding, verify:

Getting Help

Documentation

Support Channels


Ready to start coding? Let's begin with Step 1: Choose OAuth Library

Last updated