Commit Graph
13 Commits
Author SHA1 Message Date
Gustavo ValverdeandGitHub 26b194960f feat(scim): add managed connection catalog and runtime connection resolution (#10592) 2026-08-03 13:15:13 -04:00
5c45abcd20 feat(oauth-provider)!: align MCP authorization with 2026-07-28 (#10577)
Co-authored-by: Claude <noreply@anthropic.com>
2026-07-30 21:42:14 -04:00
Gustavo ValverdeandGitHub bfdaa35e20 feat(demo): demonstrate SCIM-backed employee SSO (#10475) 2026-07-22 09:17:24 -04:00
Gustavo ValverdeandGitHub 0de88f5e61 feat(scim)!: decouple provisioning from the organization plugin (#10390) 2026-07-16 11:17:06 +01:00
2a728dbd95 chore(scim): add SCIM demo (#6639)
Co-authored-by: Alex Yang <himself65@outlook.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-13 16:15:24 -08:00
Dylan VanmaliandGitHub 686fba4e11 feat(oauth-provider): an oauth 2.1 compliant plugin (#4163)
An upgrade to oidc-provider plugin that makes it oauth2.1 compliant and has a configuration that is secure by default.

Plans for the deprecation of oidc-provider plugin due to many inherent flaws in its design. Internally, plugin functions now share logic, providing for better future extensibility if new code_grants need to be written or user/client jwt or opaque tokens need to be written. Furthermore, as an oAuth 2.1 provider, it provides logic valid for an MCP server. When using the scope "openid" (optional, enabled by default), the server acts like an OpenId server able to issue id tokens and provides a /userinfo endpoint.

Features

OAuth 2.1 by default
Properly supports authorization_code, refresh_token, and client_credentials grants
PKCE by default (removes plain completely)
Public and confidential client registration
JWT plugin is required by default, but can be disabled using disableJWTPlugin flag
Access tokens can now be received in JWT verifiable format using the resource parameter (ie JWT aud field)
Id tokens are still verifiable by JWKS when using JWT Plugin, or clientSecret if disabled. Fixes issue to prevent public clients when disableJWTPlugin: true from obtaining id tokens directly even when they shouldn't be allowed an id token and should use /userinfo instead.
Protects /userinfo with scope check
Separates Refresh Token and Access token on database schema to allow multiple access tokens per refresh and multiple refresh tokens per login session.
oauthAccessToken strictly deals with opaque tokens
Opaque tokens are given only when resource parameter (aka audience) is not provided
Option to Encode and Decode refresh tokens
allowDynamicClientRegistration with allowUnauthenticatedClientRegistration flags
Separation of default expiration times
Proper creation of public and confidential clients
Prevents misconfiguration between .well-known/openid-configuration endpoint and plugin settings
scopeExpirations to assign scopes specific expiration
Custom claims through separated functions: customAccessTokenClaims, customIdTokenClaims, and customUserInfoClaims
Organizational support through activeOrganizationalId on a session such as through the organizational plugin. Attaches to oAuthClient via reference_id.
Rp-initiated logout
Account Selection via prompt=select_account.
Account Creation via prompt=create.
Prompt combinations prompt=select_account+consent and prompt=login+consent

Docs available at https://www.better-auth.com/docs/plugins/oauth-provider (pr: https://github.com/better-auth/better-auth/blob/main/docs/content/docs/plugins/oauth-provider.mdx)
2025-12-22 11:16:42 -08:00
Alex YangandGitHub 938c2a7c31 chore: lint enable organize import (#5556) 2025-10-24 19:05:09 +00:00
Bereket Engida 158581d7da chore: remove mcp impl from demo 2025-06-01 10:20:32 -07:00
Bereket EngidaandGitHub 9cc2e3d8ab feat: MCP plugin (#2666)
* chore: wip

* wip

* feat: mcp plugin

* wip

* chore: fix lock file

* clean up

* schema

* docs

* chore: lint

* chore: release v1.2.9-beta.1

* blog

* chore: lint
2025-05-23 12:44:51 -07:00
Bereket Engida 29afedc1bd feat: handle internal context 2024-11-21 18:31:42 +03:00
Bereket Engida d4f4b94386 chore: lint project 2024-09-26 08:14:28 +03:00
Bereket Engida 163d01b9ab fix: remove uncessary files from demo 2024-09-16 22:59:18 +03:00
Bereket Engida c945d1ba95 feat: demo 2024-09-16 13:53:41 +03:00