πΊοΈIntegration Flow Overview
Welcome to the Oten IDP Developer Integration Guide! This page provides a comprehensive overview of the entire integration process, giving you a roadmap before diving into the detailed implementation steps.
π― What You'll Learn
This overview covers:
Complete integration workflow from setup to production
Step-by-step roadmap with clear milestones
JAR (JWT-Secured Authorization Request) requirements - CRITICAL for Oten IDP
Different client types and their specific implementation paths
Security considerations and best practices
Testing and deployment strategies
π¨ Before You Start - JAR Requirement
CRITICAL: Oten IDP requires JAR (JWT-Secured Authorization Request) for ALL authorization requests.
Key Points:
β Traditional OAuth query parameters are REJECTED
β All OAuth parameters must be in a signed JWT
Choose HS256 (client secret) or EdDSA (key pair)
For complete JAR details, see JAR Requirement
Integration Roadmap
Here's your complete journey from start to finish:
Simple Integration Workflow
Step-by-Step Guide Navigation
Total Estimated Time: 3-4 hours for basic implementation
What Type of App Are You Building?
Choose your path based on what you're building:
Web App with Backend Server
Examples: Traditional websites, admin panels, internal tools
Backend server (Node.js, Python, Go, etc.)
β Easiest path
Database for user sessions
β Store secrets securely
Server-side rendering
β Full control over auth
Go to: Server-Side Integration Guide
Frontend-Only App (SPA)
Examples: React app, Vue app, Angular app (no backend)
Frontend framework only
β More complex
No backend server
β οΈ Need backend service for JAR
Browser-based app
β οΈ Cannot store secrets safely
You Need: A small backend service to handle JAR creation Go to: SPA Integration Guide
Mobile App
Examples: iOS app, Android app, React Native
Mobile application
β Most complex
App store distribution
β οΈ Need backend service for JAR
Native or hybrid app
β οΈ Deep link handling required
You Need: Backend service + deep link setup Go to: Mobile Integration Guide
How to Sign Your Requests (JAR)
Oten requires signed requests for security. Choose your signing method:
Method 1: Use Client Secret (Easier)
For beginners and development
β Simple setup
β Less secure
Development
β No key management
β Shared secret
Internal apps
β Quick to implement
Getting started
How it works: Use your client secret (password) to sign requests
Method 2: Use Key Pairs (More Secure)
For production and public apps
β Very secure
β More complex setup
Production
β No shared secrets
β Key management needed
Public apps
β Industry standard
High security
How it works: Generate a key pair, keep private key secret, register public key
π Quick Recommendations
π¨βπ» For Beginners
Start with Go + Client Secret method
β We provide ready-made library
β Simpler to implement
β Built-in JAR support
β No key management
β Complete examples
β Works for most cases
β 1-2 hours to implement
β Good for learning
π For Production Apps
Use EdDSA for better security
π‘ Good
HS256
Internal tools, development
π’ Better
EdDSA
Production, public apps
π‘ Simple Decision Tree
Question 1: Is this for production?
No β Use Client Secret method
Yes β Continue to Question 2
Question 2: Do you have a backend server?
Yes β Use Key Pairs method
No β You need to build a small backend service first
π― What Happens When User Logs In?
Simple 5-step process:
1οΈβ£
User clicks "Login"
User
2οΈβ£
App creates signed request (JAR)
Your app
3οΈβ£
User enters password at Oten
User
4οΈβ£
Oten sends back a code
Oten
5οΈβ£
App exchanges code for tokens
Your app
Result: User is logged in and can use your app!
π οΈ What You Need to Build
For Client Secret Method (Easier)
Sign requests with your client secret
Handle the callback when user returns
Store tokens safely
Use tokens for API calls
For Key Pairs Method (More Secure)
Generate key pair (one time setup)
Register public key with Oten
Sign requests with private key
Handle the callback when user returns
Store tokens safely
Use tokens for API calls
Ready to Start?
Choose your path:
Recommended for Beginners
Go with Client Secret - Easiest path, 1-2 hours
For Other Languages
Choose Your Library - More setup needed, 2-4 hours
For Production Apps
Key Pairs Setup - Most secure, requires key management
Last updated