PHPackages                             bambamboole/laravel-oidc-client - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. bambamboole/laravel-oidc-client

ActiveLibrary

bambamboole/laravel-oidc-client
===============================

OpenID Connect relying-party (client) for Laravel — log users in through any OIDC provider

v0.16.0(2w ago)0154↑362.5%MITPHPPHP ^8.4CI passing

Since Jul 12Pushed 1w agoCompare

[ Source](https://github.com/bambamboole/laravel-oidc-client)[ Packagist](https://packagist.org/packages/bambamboole/laravel-oidc-client)[ Docs](https://github.com/bambamboole/laravel-oidc-client)[ RSS](/packages/bambamboole-laravel-oidc-client/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (44)Versions (30)Used By (0)

laravel-oidc-client
===================

[](#laravel-oidc-client)

An OpenID Connect (OIDC) **relying party** for Laravel — log your users in through any OIDC provider using the Authorization Code + PKCE flow, with strict `id_token`validation against the provider's JWKS.

This is the client-side companion to [`bambamboole/laravel-oidc`](https://github.com/bambamboole/laravel-oidc) (the OIDC provider). The two are deliberately separate packages: an app that only needs to *consume* an identity provider should not pull in a full OAuth2 authorization server, TOTP, QR codes, and WebAuthn. Point this package at your own `laravel-oidc` provider for self-SSO, or at any third-party IdP (Keycloak, Auth0, Okta, …).

📖 **[Read the documentation →](https://bambamboole.github.io/laravel-oidc/client/overview/)**

What you get
------------

[](#what-you-get)

- **Authorization Code + PKCE** login against any spec-compliant provider, with one-time `state`/`nonce` and single-use callback context.
- **Discovery-driven setup** — endpoints and JWKS come from `/.well-known/openid-configuration`, cached, with automatic JWKS refresh on unknown `kid` so provider key rotation just works.
- **Strict `id_token` validation** — RS256 signature, `iss`, `aud`, `azp`, `nonce`, and `exp`/`nbf`/`iat` with configurable leeway.
- **A user-resolution seam** — `OidcClient::resolveUsersUsing(...)` maps token claims to your user model; the default resolves the guard provider by `sub`.
- **RP-initiated logout** to the provider's end-session endpoint with `id_token_hint`.
- **Back-channel logout** (opt-in) — accepts provider-pushed logout tokens and tears down the matching local session immediately (server-side session drivers) or on the next request (enforcement middleware).

Requirements
------------

[](#requirements)

- PHP `^8.4`
- Laravel 12 or 13

Installation
------------

[](#installation)

```
composer require bambamboole/laravel-oidc-client

# Optional: publish the config
php artisan vendor:publish --tag=oidc-client-config
```

The service provider is auto-discovered. The relying party is off until enabled:

```
OIDC_RP_ENABLED=true
OIDC_RP_ISSUER=https://id.example.com
OIDC_RP_CLIENT_ID=...
OIDC_RP_CLIENT_SECRET=...   # optional — omit for a public client
OIDC_RP_REDIRECT_URI=https://app.example.com/login/callback
```

See the **[docs](https://bambamboole.github.io/laravel-oidc/client/overview/)** for the full walkthrough, every config key, and the back-channel logout setup.

Documentation
-------------

[](#documentation)

The full documentation lives at **[bambamboole.github.io/laravel-oidc](https://bambamboole.github.io/laravel-oidc)** — the client pages are under [`/client/`](https://bambamboole.github.io/laravel-oidc/client/overview/). It is built from the `docs/` directory of the [`laravel-oidc` monorepo](https://github.com/bambamboole/laravel-oidc).

Changelog
---------

[](#changelog)

All packages in the suite are versioned in lockstep; see the [monorepo changelog](https://github.com/bambamboole/laravel-oidc/blob/main/CHANGELOG.md).

Development
-----------

[](#development)

```
composer install
composer check   # pint --test, phpstan, pest
```

Tests run in isolation through Orchestra Testbench — no external OIDC provider is required.

License
-------

[](#license)

MIT.

###  Health Score

46

—

FairBetter than 92% of packages

Maintenance98

Actively maintained with recent releases

Popularity15

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~1 days

Total

23

Last Release

17d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/547137a6d80cad01ed1dd065b1c6af329d9a23a4134a895cff01e078cc155500?d=identicon)[bambamboole](/maintainers/bambamboole)

---

Top Contributors

[![bambamboole](https://avatars.githubusercontent.com/u/8823695?v=4)](https://github.com/bambamboole "bambamboole (54 commits)")

---

Tags

clientlaravelSSOoauth2OpenID ConnectoidcRELYING PARTY

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/bambamboole-laravel-oidc-client/health.svg)

```
[![Health](https://phpackages.com/badges/bambamboole-laravel-oidc-client/health.svg)](https://phpackages.com/packages/bambamboole-laravel-oidc-client)
```

###  Alternatives

[psalm/plugin-laravel

Psalm plugin for Laravel

3365.5M359](/packages/psalm-plugin-laravel)[laravel/pulse

Laravel Pulse is a real-time application performance monitoring tool and dashboard for your Laravel application.

1.7k17.6M165](/packages/laravel-pulse)[laravel/mcp

Rapidly build MCP servers for your Laravel applications.

80732.6M270](/packages/laravel-mcp)[laravel/socialite

Laravel wrapper around OAuth 1 &amp; OAuth 2 libraries.

5.7k118.2M1.0k](/packages/laravel-socialite)[fleetbase/core-api

Core Framework and Resources for Fleetbase API

1346.4k29](/packages/fleetbase-core-api)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

1.0k2.5M152](/packages/roots-acorn)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
