JAR Complete Implementation Guide
Last updated
Last updated
📖 Getting started? Check the Integration Flow Overview to understand the complete integration process.
Oten Identity Provider requires JAR (JWT-Secured Authorization Request) for CONFIDENTIAL CLIENTS only. Public clients (SPAs/Mobile) must use PKCE instead.
Confidential Clients: JAR is REQUIRED
Public Clients: JAR is FORBIDDEN, use PKCE Implementation Guide
Oten IDP supports exactly two algorithms:
HS256
Symmetric (client_secret)
Good
Development, Internal Apps
EdDSA
Asymmetric (Ed25519 key pair)
Better
Production, Public Apps
Every JAR must include these JWT claims:
You have two options to register your public key:
Cause:
Solution:
Before testing with Oten IDP:
Remember: JAR is required for confidential clients only. Public clients must use PKCE instead.
If your application cannot implement JAR due to technical constraints, please contact our support team to discuss enabling traditional OAuth flow as a temporary solution:
Include in your request:
Security Notice: Traditional OAuth flow has lower security compared to JAR and should only be used temporarily while planning JAR implementation.
✅ Development and testing
✅ Internal applications
✅ When you want simple setup
❌ Not recommended for public applications
✅ Production applications
✅ Public applications
✅ When you need maximum security
✅ When you want to follow best practices
Login to https://developer.oten.com (Coming Soon)
Navigate to your application settings
Upload your public key file (jar-public-key.pem)
Note the Key ID assigned by the system
Email your public key to support@oten.dev
Include your client_id and application name
Wait for confirmation and Key ID
Cause: Missing request parameter in authorization URL Solution: Always include JAR in request parameter
Wrong signing algorithm (must be HS256 or EdDSA)
Wrong private key or client secret
Missing or incorrect kid in JWT header (for EdDSA)
Verify algorithm is HS256 or EdDSA
Check private key matches registered public key
Ensure kid matches registered Key ID
Cause: JAR exp claim is too old Solution: Set exp to current time + 5 minutes maximum
Cause: Wrong aud claim in JAR Solution: Use exact audience: https://account.oten.com
Cause: iss claim doesn't match client_id Solution: Set iss to your exact client_id
Prerequisites - JAR setup requirements
Step 3: Authorization Flow - Complete JAR implementation
Configuration Reference - Endpoints and settings
Common Errors - JAR-related error troubleshooting
← Previous: Prerequisites - Environment setup
↑ Overview: Integration Flow Overview - See the big picture
→ Next: Step 1: Choose OAuth Library - Select JAR-compatible library
📧 Contact Support: support@oten.dev
Application details and technical constraints
Reason why JAR cannot be implemented
Security measures you have in place
Timeline for potential JAR migration