# Introduction

Welcome to the comprehensive guide for integrating with Oten Identity Provider (IDP). This guide is designed for beginners who are new to Single Sign-On (SSO) and OAuth 2.0 concepts.

## What you'll learn

This guide will take you through everything you need to know about Oten IDP integration:

* **Understanding SSO**: What it is and why you should use it
* **End user experience**: How users interact with SSO
* **Technical implementation**: Step-by-step developer integration
* **Best practices**: Security, performance, and user experience
* **Troubleshooting**: Common issues and how to resolve them

## Who this guide is for

### Developers

* Integrate Oten IDP into your applications
* Implement secure OAuth 2.0 flows
* Follow security best practices
* Handle errors gracefully

### System Administrators

* Understand the SSO architecture
* Monitor and troubleshoot SSO implementations
* Ensure security compliance

## Quick start

1. **New to SSO?** Start with [What is SSO?](https://integration.oten.dev/getting-started/what-is-sso)
2. **Developer?** Begin with [Developer integration guide](https://integration.oten.dev/developer-integration-guide/prerequisites)
3. **Public Client (SPA/Mobile)?** See [PKCE implementation guide](https://gitlab.silvertiger.tech/documents/idp/-/blob/main/developer-guide/pkce-implementation-guide.md)
4. **Need help?** Check [Support and troubleshooting](https://integration.oten.dev/support-and-troubleshooting/common-errors)

## Prerequisites

Before you begin, make sure you have:

**For confidential Clients (Server-side applications):**

* [ ] Access to Oten Developer portal, or contact support to register your application
* [ ] OAuth library that supports JAR (JWT-Secured authorization request) - **REQUIRED**
* [ ] Ability to securely store private keys or client secrets

**For public Clients (SPAs/Mobile applications):**

* [ ] Access to Oten Developer portal for public client registration
* [ ] PKCE implementation capability - **REQUIRED**
* [ ] Secure storage for temporary values (sessionStorage, Keychain, etc.)

**Important**:

* **Confidential Clients**: JAR is **required**
* **Public Clients**: JAR is **forbidden**, PKCE is **required**

See [PKCE implementation guide](https://gitlab.silvertiger.tech/documents/idp/-/blob/main/developer-guide/pkce-implementation-guide.md) for public client implementation.

* [ ] Basic understanding of web applications
* [ ] Development environment set up (for developers)

## Key resources

* **Oten Developer portal**: <https://developer.oten.com> *(Coming Soon)*
* **API documentation**: <https://docs.oten.com> *(Coming Soon)*
* **OpenID connect discovery:**
  * Production: `https://account.oten.com/.well-known/openid-configuration`
  * Sandbox: `https://account.sbx.oten.dev/.well-known/openid-configuration`
* **Technical support**: <support@oten.dev>
* **Status page**: <https://status.oten.com> *(Coming Soon)*
* **Configuration reference**: [Configuration reference](https://integration.oten.dev/appendix/configuration-reference)
* **Discovery configuration guide**: [Discovery configuration](https://integration.oten.dev/developer-integration-guide/discovery-configuration)

## How to use this guide

This guide is organized in a logical progression:

1. **Conceptual understanding**: Learn the basics of SSO and OAuth
2. **User perspective**: See how SSO works from an end-user viewpoint
3. **Technical implementation**: Detailed developer integration steps
4. **Advanced topics**: Best practices, security, and troubleshooting

Each section builds upon the previous one, but you can also jump to specific topics as needed.

## Need help?

If you get stuck or have questions:

1. Check the [Common errors](https://integration.oten.dev/support-and-troubleshooting/common-errors) section
2. Review [Debug and troubleshooting](https://integration.oten.dev/support-and-troubleshooting/debug-and-troubleshooting)
3. Contact our [Support team](https://integration.oten.dev/support-and-troubleshooting/contact-support)

***

**Ready to get started?** Let's begin with [What is SSO?](https://integration.oten.dev/getting-started/what-is-sso)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://integration.oten.dev/getting-started/readme.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
