# 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)
