# Quickstarts

> Complete, runnable examples that connect an application or an API to OneiD.

Source: https://oltinid.com/docs/quickstarts/ · Section: Quickstarts · All OneiD documentation: https://oltinid.com/llms.txt

Pick the kind of software you are connecting. Each quickstart is one complete program with the client settings it needs, the steps to run it, and what you should see.

## Browser applications

Single-page applications that run in the browser. Public client, PKCE, no secret.

- [JavaScript single-page application](https://oltinid.com/docs/quickstarts/javascript/): oidc-client-ts
- [React single-page application](https://oltinid.com/docs/quickstarts/react/): react-oidc-context
- [Angular single-page application](https://oltinid.com/docs/quickstarts/angular/): oidc-client-ts

## Server web applications

Applications that render pages on a server and keep a session. Usually a confidential client.

- [Node.js web application (Express)](https://oltinid.com/docs/quickstarts/node/): openid-client
- [ASP.NET Core web application](https://oltinid.com/docs/quickstarts/dotnet/): Microsoft.AspNetCore.Authentication.OpenIdConnect
- [Go web application](https://oltinid.com/docs/quickstarts/go/): coreos/go-oidc
- [Python web application (Flask)](https://oltinid.com/docs/quickstarts/python/): Authlib with Flask
- [Java web application (Spring Security)](https://oltinid.com/docs/quickstarts/java/): Spring Security

## APIs

Services that accept OneiD access tokens and check them without calling OneiD.

- [Protect a Node.js API](https://oltinid.com/docs/quickstarts/api-node/): jose with Express
- [Protect an ASP.NET Core API](https://oltinid.com/docs/quickstarts/api-dotnet/): Microsoft.AspNetCore.Authentication.JwtBearer
- [Protect a Go API](https://oltinid.com/docs/quickstarts/api-go/): coreos/go-oidc
- [Protect a Python API (Flask)](https://oltinid.com/docs/quickstarts/api-python/): PyJWT with Flask
- [Protect a Java API (Spring Security)](https://oltinid.com/docs/quickstarts/api-java/): Spring Security

## Machine to machine

Services that call an API with no user present. Client credentials.

- [Machine to machine with cURL](https://oltinid.com/docs/quickstarts/curl/): Client credentials grant

## Something else?

Any library that supports OpenID Connect discovery and the authorization code flow with PKCE works with OneiD. Give it the OneiD address and your client ID. The [Connector specification](https://oltinid.com/docs/ai/connector-specification/) lists everything a library or product must do.
