How It Works
User Authorizes App
App Accesses Your Account
User Revokes Access
Registering an App
Dynamic Registration (Recommended)
If app supports dynamic registration (OpenID Connect), simply connect:Manual Registration
For legacy apps, register in Console:OAuth Scopes
Request only permissions you need:OAuth Flow Details
1. Authorization Request
App sends user to Noorle:client_id- App identifierscope- Permissions app is requestingredirect_uri- Where to send user after authstate- Random string (app verifies after redirect)response_type- Always “code”
2. Authorization Code
After user approves, Noorle redirects:3. Token Exchange
App exchanges code for access token (backend call):4. Access Protected Resources
App now calls Noorle APIs:Monitoring Connected Apps
View All Connected Apps
Revoke Access
- All tokens invalidated
- App cannot make API calls
- App receives 401 Unauthorized
Refresh Tokens
If app requestedoffline_access scope, it has refresh token:
Security Considerations
1. Verify SSL Certificate
Only connect over HTTPS:2. Protect Client Secret
Backend only, never in browser:3. Use PKCE (Mobile Apps)
Mobile apps should use PKCE to protect authorization code:Common Patterns
Pattern: Analytics Dashboard
App wants to show user’s agents in dashboard.- Can revoke anytime
- Metrics stay up-to-date
- No manual data export needed
Pattern: Slack Integration
Slack app wants to create agents in user’s Noorle account.- Agents are created in their account (they own them)
- Can modify/delete agents anytime
- Can revoke Slack access anytime (agents remain)
Troubleshooting
| Problem | Solution |
|---|---|
| ”invalid_client” | Client ID/secret incorrect. Check registration. |
| ”invalid_scope” | Scope not supported. Check available scopes. |
| ”state mismatch” | CSRF protection failed. Session may have expired. Try again. |
| ”code expired” | Authorization code valid for 10 minutes only. Re-authorize. |
| ”insufficient_scope” | Token doesn’t have required permission. Re-authorize with correct scopes. |
Best Practices
Request Minimum Scopes
Don’t ask for admin if read is sufficient. Users trust apps that ask for less.
Clear App Description
Tell user exactly what you’ll do. Be specific about scope usage.
Monitor Token Use
Log when app accesses user’s data. Be transparent about usage.
Support Revocation
Handle 401 Unauthorized gracefully. Prompt user to re-authorize if needed.
Next: Learn about Roles and Permissions for access control.