Skip to content

@btravstack/http-server


@btravstack/http-server / oidc-tokens

oidc-tokens ​

Classes ​

OidcTokens ​

Defined in: packages/http-server/src/oidc-token-store.ts:92

The default delegated-login capability; another login may declare its own port of the same type.

Extends ​

Constructors ​

Constructor ​
ts
new OidcTokens(): OidcTokens;

Defined in: packages/di/dist/index.d.mts:15

Returns ​

OidcTokens

Inherited from ​

Port("HttpOidcTokens")<OidcTokensService>.constructor

Properties ​

PropertyModifierTypeInherited fromDefined in
[ID]readonly"HttpOidcTokens"Port("HttpOidcTokens").[ID]packages/di/dist/index.d.mts:11
[SERVICE]readonlyOidcTokensServicePort("HttpOidcTokens").[SERVICE]packages/di/dist/index.d.mts:12
portIdstatic readonly"HttpOidcTokens"Port("HttpOidcTokens").portIdpackages/di/dist/index.d.mts:16

OidcTokenStore ​

Defined in: packages/http-server/src/oidc-token-store.ts:48

Server-side OIDC credentials; no in-process production adapter is supplied.

Extends ​

Constructors ​

Constructor ​
ts
new OidcTokenStore(): OidcTokenStore;

Defined in: packages/di/dist/index.d.mts:15

Returns ​

OidcTokenStore

Inherited from ​

Port("HttpOidcTokenStore")<OidcTokenStoreService>.constructor

Properties ​

PropertyModifierTypeInherited fromDefined in
[ID]readonly"HttpOidcTokenStore"Port("HttpOidcTokenStore").[ID]packages/di/dist/index.d.mts:11
[SERVICE]readonlyOidcTokenStoreServicePort("HttpOidcTokenStore").[SERVICE]packages/di/dist/index.d.mts:12
portIdstatic readonly"HttpOidcTokenStore"Port("HttpOidcTokenStore").portIdpackages/di/dist/index.d.mts:16

OidcTokenStoreUnavailable ​

Defined in: packages/http-server/src/oidc-token-store.ts:8

A storage failure, without credentials or driver diagnostics.

Extends ​

  • TaggedErrorInstance<"OidcTokenStoreUnavailable", { }>

Constructors ​

Constructor ​
ts
new OidcTokenStoreUnavailable(args): OidcTokenStoreUnavailable;

Defined in: node_modules/.pnpm/unthrown@5.12.1/node_modules/unthrown/dist/index.d.mts:2386

Parameters ​
ParameterType
argsvoid
Returns ​

OidcTokenStoreUnavailable

Inherited from ​

TaggedError("OidcTokenStoreUnavailable").constructor

Properties ​

PropertyModifierTypeInherited fromDefined in
_tagreadonly"OidcTokenStoreUnavailable"TaggedError("OidcTokenStoreUnavailable")._tagnode_modules/.pnpm/unthrown@5.12.1/node_modules/unthrown/dist/index.d.mts:2363
cause?publicunknownTaggedError("OidcTokenStoreUnavailable").causenode_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts:24
messagepublicstringTaggedError("OidcTokenStoreUnavailable").messagenode_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1075
namepublicstringTaggedError("OidcTokenStoreUnavailable").namenode_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1074
stack?publicstringTaggedError("OidcTokenStoreUnavailable").stacknode_modules/.pnpm/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts:1076

Type Aliases ​

OidcLogoutContext ​

ts
type OidcLogoutContext = object;

Defined in: packages/http-server/src/oidc-token-store.ts:60

A validated login's provider logout hint; never session principal or cookie data.

Properties ​

PropertyModifierTypeDefined in
idTokenreadonlystringpackages/http-server/src/oidc-token-store.ts:61

OidcTokenResponse ​

ts
type OidcTokenResponse = object;

Defined in: packages/http-server/src/oidc-token-store.ts:51

Token endpoint fields retained only in protected server-side storage.

Properties ​

PropertyModifierTypeDefined in
access_tokenreadonlystringpackages/http-server/src/oidc-token-store.ts:52
expires_in?readonlynumberpackages/http-server/src/oidc-token-store.ts:54
id_token?readonlystringpackages/http-server/src/oidc-token-store.ts:56
refresh_token?readonlystringpackages/http-server/src/oidc-token-store.ts:55
token_typereadonlystringpackages/http-server/src/oidc-token-store.ts:53

OidcTokensOptions ​

ts
type OidcTokensOptions = object;

Defined in: packages/http-server/src/oidc-tokens.ts:59

One token manager's deployment configuration. port names a second login's capability.

Properties ​

PropertyModifierTypeDefined in
allowInsecureIssuer?readonlybooleanpackages/http-server/src/oidc-tokens.ts:65
clientId?readonlystringpackages/http-server/src/oidc-tokens.ts:61
clientSecret?readonlystringpackages/http-server/src/oidc-tokens.ts:62
clock?readonlyClockpackages/http-server/src/oidc-tokens.ts:66
issuer?readonlystringpackages/http-server/src/oidc-tokens.ts:60
port?readonlyPortClassOf<string, OidcTokensService>packages/http-server/src/oidc-tokens.ts:64
variablePrefix?readonlystringpackages/http-server/src/oidc-tokens.ts:63

OidcTokensService ​

ts
type OidcTokensService = object;

Defined in: packages/http-server/src/oidc-token-store.ts:70

One login's server-only capability. Framework adapters pass the raw __Host-session cookie, never a reference supplied in a URL or form. session validates revocation without refreshing; accessToken refreshes under the store's shared lock. invalidate deletes before returning success.

Properties ​

PropertyModifierTypeDescriptionDefined in
accessTokenreadonly(cookie) => AsyncResult<string, | Unauthenticated | OidcTokenStoreUnavailable>-packages/http-server/src/oidc-token-store.ts:81
clientIdreadonlystring-packages/http-server/src/oidc-token-store.ts:72
createreadonly(session, subject, tokens) => AsyncResult<string, | Unauthenticated | OidcTokenStoreUnavailable>-packages/http-server/src/oidc-token-store.ts:73
invalidatereadonly(cookie) => AsyncResult<void, OidcTokenStoreUnavailable>-packages/http-server/src/oidc-token-store.ts:84
issuerreadonlystring-packages/http-server/src/oidc-token-store.ts:71
logoutreadonly(cookie) => AsyncResult<OidcLogoutContext | undefined, OidcTokenStoreUnavailable>Deletes credentials and returns their bound logout hint in the same store transaction.packages/http-server/src/oidc-token-store.ts:86
sessionreadonly(cookie) => AsyncResult<Session<unknown> | undefined, OidcTokenStoreUnavailable>-packages/http-server/src/oidc-token-store.ts:78

OidcTokenStoreService ​

ts
type OidcTokenStoreService = object;

Defined in: packages/http-server/src/oidc-token-store.ts:36

Application-supplied shared storage. create must refuse an existing reference. transact holds exclusive ownership across ALL replicas until work settles and its replacement commits. Missing records must be locked too; deletion, refresh and invalidation use this same boundary. A defect commits nothing. A lease that expires must fence the old writer rather than allow it to recreate a deleted row.

Properties ​

PropertyModifierTypeDefined in
createreadonly(reference, record) => AsyncResult<void, OidcTokenStoreUnavailable>packages/http-server/src/oidc-token-store.ts:37
transactreadonly<T>(reference, work) => AsyncResult<T, OidcTokenStoreUnavailable>packages/http-server/src/oidc-token-store.ts:41

OidcTokenUpdate ​

ts
type OidcTokenUpdate<T> = object;

Defined in: packages/http-server/src/oidc-token-store.ts:24

An atomic replacement. undefined deletes the record, and value is returned to the caller.

Type Parameters ​

Type Parameter
T

Properties ​

PropertyModifierTypeDefined in
recordreadonlyStoredOidcTokens | undefinedpackages/http-server/src/oidc-token-store.ts:25
valuereadonlyTpackages/http-server/src/oidc-token-store.ts:26

StoredOidcTokens ​

ts
type StoredOidcTokens = object;

Defined in: packages/http-server/src/oidc-token-store.ts:11

Server-only credentials. Adapters must protect these at rest and expire the row at sessionExpiresAt.

Properties ​

PropertyModifierTypeDefined in
accessExpiresAtreadonlynumberpackages/http-server/src/oidc-token-store.ts:18
accessTokenreadonlystringpackages/http-server/src/oidc-token-store.ts:15
clientIdreadonlystringpackages/http-server/src/oidc-token-store.ts:13
idToken?readonlystringpackages/http-server/src/oidc-token-store.ts:17
issuerreadonlystringpackages/http-server/src/oidc-token-store.ts:12
refreshAfterreadonlynumberpackages/http-server/src/oidc-token-store.ts:19
refreshToken?readonlystringpackages/http-server/src/oidc-token-store.ts:16
sessionExpiresAtreadonlynumberpackages/http-server/src/oidc-token-store.ts:20
subjectreadonlystringpackages/http-server/src/oidc-token-store.ts:14

Functions ​

createOidcTokens() ​

ts
function createOidcTokens(
   configuration, 
   codec, 
   store, 
   observers, 
   clock, 
   binding
): OidcTokensService;

Defined in: packages/http-server/src/oidc-tokens.ts:146

Framework-neutral factory over already-discovered client configuration. The binding must name that client's issuer and client ID. No HTTP listener is needed.

Parameters ​

ParameterType
configurationConfiguration
codecSessionCodecService
storeOidcTokenStoreService
observersreadonly ((operation) => Settle)[]
clockClock
binding{ clientId: string; issuer: string; }
binding.clientIdstring
binding.issuerstring

Returns ​

OidcTokensService


oidcTokens() ​

ts
function oidcTokens<O>(options?): Provider<InstanceType<TokensPort<O>>, ConfigInvalid | OidcUnreachable, 
  | SessionCodec
  | Observers
  | TokenEnvironment<O>
  | OidcTokenStore> & object;

Defined in: packages/http-server/src/oidc-tokens.ts:90

Bind a server-only token manager to a shared store and the existing session codec. Discovery runs once per manager. Compose this beside oidc({ tokens: provider.port }) and sessionAuthenticator({ tokens: provider.port }).

Type Parameters ​

Type ParameterDefault type
O extends OidcTokensOptionsRecord<never, never>

Parameters ​

ParameterType
options?O & OptionsAs<O, OidcTokensOptions>

Returns ​

Provider<InstanceType<TokensPort<O>>, ConfigInvalid | OidcUnreachable, | SessionCodec | Observers | TokenEnvironment<O> | OidcTokenStore> & object

Released under the MIT License.