audiobookshelf/server/models
Denis Arnst 073eff74ef
Add OIDC Back-Channel Logout support
Implement OIDC Back-Channel Logout 1.0 (RFC). When enabled, the IdP can
POST a signed logout_token JWT to invalidate user sessions server-side.

- Add BackchannelLogoutHandler: JWT verification via jose, jti replay
  protection with bounded cache, session destruction by sub or sid
- Add oidcSessionId column to sessions table with index for fast lookups
- Add backchannel logout route (POST /auth/openid/backchannel-logout)
- Notify connected clients via socket to redirect to login page
- Add authOpenIDBackchannelLogoutEnabled toggle in schema-driven settings UI
- Migration v2.34.0 adds oidcSessionId column and index
- Polish settings UI: auto-populate loading state, subfolder dropdown
  options, KeyValueEditor fixes, localized descriptions via descriptionKey,
  duplicate key detection, success/error toasts
- Localize backchannel logout toast (ToastSessionEndedByProvider)
- OidcAuthStrategy tests now use real class via require-cache stubbing
2026-02-05 17:55:10 +01:00
..
ApiKey.js Update jwt secret handling 2025-07-08 16:39:50 -05:00
Author.js Migrate to new library item in scanner 2025-01-05 12:05:01 -06:00
Book.js Sanitize media item & episode description on update 2025-05-31 17:01:58 -05:00
BookAuthor.js
BookSeries.js
Collection.js
CollectionBook.js
CustomMetadataProvider.js
Device.js
Feed.js Update feedepisode psc customElement 2025-03-31 17:59:16 -05:00
FeedEpisode.js prettier 2025-04-26 17:46:19 +02:00
Library.js
LibraryFolder.js
LibraryItem.js Update watcher to re-scan library items when non-media files are added/updated #4245 2025-05-01 17:17:40 -05:00
MediaItemShare.js Migrate to new library item in scanner 2025-01-05 12:05:01 -06:00
MediaProgress.js Fix manually setting updatedAt of mediaProgresses using progress sync lastUpdate timestamp #4366 2025-07-01 16:48:07 -05:00
PlaybackSession.js
Playlist.js
PlaylistMediaItem.js
Podcast.js Fix podcast itunesId not set on create or update from match #4614 2025-08-22 08:20:49 -05:00
PodcastEpisode.js Fix podcast episode track index null in playback session 2025-07-22 14:44:36 -05:00
Series.js Migrate to new library item in scanner 2025-01-05 12:05:01 -06:00
Session.js Add OIDC Back-Channel Logout support 2026-02-05 17:55:10 +01:00
Setting.js
User.js Fix oidc auto-register not cleaning up new user on errors #4563 2025-08-10 17:26:15 -05:00