# Why SSO?

> Single sign-on (SSO) is an authentication scheme that allows a user to log in with a single ID to any of several related, yet independent, software systems.
>
> <https://en.wikipedia.org/wiki/Single_sign-on>

Imaginary Ones' (IO) will be building multiple sites and applications for different audiences.&#x20;

As such, IO's SSO will be the foundation of authentication that would enable the interconnectivity between the products in our ecosystem. By unifying your accounts between products with SSO, that could enable another level of experience within IO's ecosystem.

IO SSO is built according to OpenID Connect (OIDC) specifications.&#x20;

> Connect (OIDC) is an identity layer built on top of the OAuth 2.0 framework. It allows third-party applications to verify the identity of the end-user and to obtain basic user profile information. OIDC uses JSON web tokens (JWTs), which you can obtain using flows conforming to the OAuth 2.0 specifications.
>
> <https://auth0.com/docs/authenticate/protocols/openid-connect-protocol>

## Supported Connectors

As of 22 February 2024, we only support Twitter OAuth 2.0 as a connector for IO's SSO. However, other connectors are in the works and will be released in the near future, which would include:

* Username + Password
* Google
* Discord

## Additional Reading

* [OAuth 2.0](https://oauth.net/2/)
* [How OpenID connect works?](https://openid.net/developers/how-connect-works/)


---

# 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://docs.imaginaryones.com/single-sign-on-sso/why-sso.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.
