# Package com.codename1.io.oidc

package com.codename1.io.oidc

OpenID Connect (OIDC) client with PKCE.

`OidcClient` drives the Authorization Code + PKCE flow against any standards-compliant identity provider (Auth0, Okta, Google, Microsoft Entra, Keycloak, ...). It launches a system browser via `SystemBrowser` / `OidcBrowserNative`, exchanges the authorization code for tokens, and persists them through a pluggable `TokenStore`.

Companion classes (`OidcConfiguration`, `OidcTokens`, `PkceChallenge`, `OidcException`) carry configuration, results and errors.

- Related Packages
  Package
  Description
  com.codename1.io
  Networking, Storage, Filesystem & related API's
- Class
  Description
  OidcBrowserNative
  Service-provider interface that `SystemBrowser` uses to dispatch a sign-in flow through the OS's hardened sign-in surface (`ASWebAuthenticationSession` on iOS, `androidx.browser.customtabs` / `Credential Manager` on Android).
  OidcClient
  Modern OpenID Connect / OAuth 2.0 client.
  OidcConfiguration
  The subset of an OpenID Connect provider's `.well-known/openid-configuration` document that `OidcClient` cares about.
  OidcConfiguration.Builder
  Fluent builder for `OidcConfiguration`.
  OidcException
  Thrown for failures during an OpenID Connect / OAuth 2.0 flow driven by `OidcClient`.
  OidcTokens
  The tokens returned by an OpenID Connect token endpoint, with convenience accessors for the OIDC ID token claims.
  PkceChallenge
  One PKCE pair (RFC 7636).
  SystemBrowser
  Routes an authorization-code-flow sign-in through the system browser (`ASWebAuthenticationSession` on iOS, an Android Custom Tab on Android, the user's default browser on JavaSE / Web) and resolves with the final redirect URL once the OS hands it back.
  TokenStore
  Pluggable persistence for an `OidcClient`'s tokens.
  TokenStore.DefaultStorageTokenStore
  The default store.