@hyper.authio/client 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -190,6 +190,16 @@ type AuthioPrompt = (typeof AuthioPrompts)[number];
190
190
  * Asymmetric signing algorithms Authio issues tokens with and accepts in client assertions.
191
191
  */
192
192
  declare const AuthioAsymmetricAlgorithms: readonly ["RS256", "RS384", "RS512", "PS256", "PS384", "PS512", "ES256", "ES384", "ES512"];
193
+ /**
194
+ * Symmetric algorithms Authio may sign a client's tokens with. A client verifies them with its own client secret
195
+ * (OpenID Connect Core §10.1), and only when `idTokenSignedResponseAlg` names one.
196
+ */
197
+ declare const AuthioHmacAlgorithms: readonly ["HS256", "HS384", "HS512"];
198
+ /**
199
+ * The shortest client secret, in bytes of its UTF-8 form, each HS* algorithm is verified with: the size of the hash
200
+ * output (RFC 7518 §3.2). Authio refuses a shorter secret for the algorithm, and so do the SDKs.
201
+ */
202
+ declare const AuthioHmacMinimumSecretBytes: Readonly<Record<(typeof AuthioHmacAlgorithms)[number], number>>;
193
203
  /**
194
204
  * Defaults shared by every Authio SDK.
195
205
  */
@@ -373,9 +383,14 @@ interface AuthioConnectionOptions {
373
383
  clock?: AuthioClock;
374
384
  }
375
385
  /**
376
- * How the client authenticates to the token, introspection, revocation and device endpoints.
386
+ * How the client authenticates to the token, introspection, revocation and device endpoints: the client's
387
+ * `token_endpoint_auth_method` in Authio, which Authio matches exactly.
377
388
  */
378
- type AuthioClientAuthentication = "client_secret_basic" | "client_secret_post" | "private_key_jwt" | "none";
389
+ type AuthioTokenEndpointAuthMethod = "client_secret_basic" | "client_secret_post" | "private_key_jwt" | "none";
390
+ /**
391
+ * The values of `tokenEndpointAuthMethod`.
392
+ */
393
+ declare const AuthioTokenEndpointAuthMethods: readonly ["client_secret_basic", "client_secret_post", "private_key_jwt", "none"];
379
394
  /**
380
395
  * The connection settings, resolved once.
381
396
  */
@@ -435,6 +450,7 @@ interface AuthioDiscoveryDocument {
435
450
  grant_types_supported?: string[];
436
451
  subject_types_supported?: string[];
437
452
  id_token_signing_alg_values_supported?: string[];
453
+ userinfo_signing_alg_values_supported?: string[];
438
454
  token_endpoint_auth_methods_supported?: string[];
439
455
  token_endpoint_auth_signing_alg_values_supported?: string[];
440
456
  introspection_endpoint_auth_methods_supported?: string[];
@@ -443,6 +459,8 @@ interface AuthioDiscoveryDocument {
443
459
  claims_supported?: string[];
444
460
  prompt_values_supported?: string[];
445
461
  authorization_response_iss_parameter_supported?: boolean;
462
+ frontchannel_logout_supported?: boolean;
463
+ frontchannel_logout_session_supported?: boolean;
446
464
  [member: string]: unknown;
447
465
  }
448
466
  /**
@@ -515,10 +533,10 @@ interface AuthioClientCredentialsSettings {
515
533
  */
516
534
  clientSecret?: AuthioSecretSource;
517
535
  /**
518
- * Defaults to `private_key_jwt` when only a private key is configured, else `client_secret_basic`. A public client
519
- * sets `none`.
536
+ * How the client authenticates, as registered in Authio (which matches it exactly). Defaults to
537
+ * `client_secret_basic` with a `clientSecret`, `private_key_jwt` with only a private key, and `none` with neither.
520
538
  */
521
- clientAuthentication?: AuthioClientAuthentication;
539
+ tokenEndpointAuthMethod?: AuthioTokenEndpointAuthMethod;
522
540
  /** The private key for `private_key_jwt`. */
523
541
  clientPrivateKey?: AuthioPrivateKeyInput;
524
542
  /** A PEM file holding the private key for `private_key_jwt` (Node only); re-read when it changes. */
@@ -562,9 +580,13 @@ declare const AuthioKeyManagementAlgorithms: readonly ["RSA-OAEP", "RSA-OAEP-256
562
580
  */
563
581
  declare const AuthioLegacyKeyManagementAlgorithms: readonly ["RSA1_5"];
564
582
  /**
565
- * The content encryption algorithms Authio encrypts with.
583
+ * The content encryption algorithms Authio encrypts with to a client's own key, the default `encryptionMethods`.
566
584
  */
567
585
  declare const AuthioContentEncryptionAlgorithms: readonly ["A128CBC-HS256", "A192CBC-HS384", "A256CBC-HS512"];
586
+ /**
587
+ * Every content encryption algorithm `encryptionMethods` may list: the CBC-HS ones and AES-GCM.
588
+ */
589
+ declare const AuthioSupportedContentEncryptionAlgorithms: readonly ["A128CBC-HS256", "A192CBC-HS384", "A256CBC-HS512", "A128GCM", "A192GCM", "A256GCM"];
568
590
  /**
569
591
  * Options of the decrypter.
570
592
  */
@@ -576,6 +598,13 @@ interface AuthioTokenDecrypterOptions {
576
598
  * neither Node nor WebCrypto can decrypt PKCS#1 v1.5.
577
599
  */
578
600
  allowLegacyEncryptionAlgorithms?: boolean;
601
+ /**
602
+ * The key management algorithms (`alg`) accepted, as registered for the client in Authio. Defaults to RSA-OAEP and
603
+ * RSA-OAEP-256. RSA1_5 cannot be listed: neither Node nor WebCrypto can decrypt it.
604
+ */
605
+ encryptionAlgorithms?: readonly string[];
606
+ /** The content encryption algorithms (`enc`) accepted. Defaults to A128CBC-HS256, A192CBC-HS384 and A256CBC-HS512. */
607
+ encryptionMethods?: readonly string[];
579
608
  }
580
609
  /**
581
610
  * Whether a value is a compact JWE (five segments).
@@ -636,7 +665,8 @@ type AuthioSigningKeys = (signal?: AbortSignal) => Promise<JWTVerifyGetKey>;
636
665
  */
637
666
  interface AuthioJwtExpectations {
638
667
  readonly issuer: string;
639
- readonly audiences: readonly string[];
668
+ /** The accepted audiences; `aud` is not checked when absent. */
669
+ readonly audiences?: readonly string[];
640
670
  readonly algorithms?: readonly string[];
641
671
  /** Seconds. */
642
672
  readonly clockSkew?: number;
@@ -661,6 +691,21 @@ declare function verifyAuthioJwt(token: string, keys: JWTVerifyGetKey, expected:
661
691
  payload: JWTPayload;
662
692
  header: Record<string, unknown>;
663
693
  }>;
694
+ /**
695
+ * Wraps the realm's keys so an HS256, HS384 or HS512 signature is verified with the client secret instead (OpenID
696
+ * Connect Core §10.1: the octets of its UTF-8 form). Only reached for an algorithm the allowlist accepts, so an HS*
697
+ * token is verified with the secret only when `idTokenSignedResponseAlg` names that algorithm.
698
+ *
699
+ * @internal
700
+ */
701
+ declare function withClientSecret(keys: JWTVerifyGetKey, secret: (() => Promise<string>) | undefined): JWTVerifyGetKey;
702
+ /**
703
+ * Refuses a client secret shorter than the HS* algorithm's hash output (RFC 7518 §3.2).
704
+ *
705
+ * @throws AuthioConfigurationError naming the algorithm and both lengths.
706
+ * @internal
707
+ */
708
+ declare function requireHmacSecretLength(algorithm: string, length: number): void;
664
709
  /**
665
710
  * Turns a `jose` failure into the refusal it stands for, worded as ASP.NET Core's bearer handler words it.
666
711
  *
@@ -677,6 +722,20 @@ declare function computeAuthioTokenHash(value: string, algorithm: string): Promi
677
722
  * The PKCE method (RFC 7636). `S256` is the default; `plain` only when asked for, for a client that cannot hash.
678
723
  */
679
724
  type AuthioCodeChallengeMethod = "S256" | "plain";
725
+ /**
726
+ * What the client checks on an authorization round trip, as the client is registered in Authio: `pkce` sends a code
727
+ * challenge and redeems the code with its verifier, `state` binds the callback to the request, `nonce` binds the ID
728
+ * token to it. `none` is the same as an empty list. Nothing is checked unless listed.
729
+ */
730
+ type AuthioCheck = "pkce" | "state" | "nonce" | "none";
731
+ /**
732
+ * How Authio answers the authorization request: `query` (a redirect) or `web_message` (posted to the opener window).
733
+ */
734
+ type AuthioResponseMode = "query" | "web_message";
735
+ /**
736
+ * The checks every Authio library accepts.
737
+ */
738
+ declare const AuthioChecks: readonly ["pkce", "state", "nonce", "none"];
680
739
  /**
681
740
  * A PKCE pair: send `codeChallenge` with the authorization request and `codeVerifier` with the code exchange.
682
741
  */
@@ -711,17 +770,19 @@ interface AuthioAuthorizationRequest {
711
770
  uiLocales?: string | readonly string[];
712
771
  /** `page` (default) or `popup`, the layout of the hosted screens. */
713
772
  display?: "page" | "popup";
714
- /** `query` (default) or `web_message`, the popup's answer posted to the opener window. */
715
- responseMode?: "query" | "web_message";
773
+ /** `query` or `web_message` (the answer posted to the opener window). Defaults to the client's `responseMode`. */
774
+ responseMode?: AuthioResponseMode;
716
775
  /** Shorthand for `display: "popup"` with `responseMode: "web_message"`. */
717
776
  popup?: boolean;
718
777
  /** The alias of the identity provider to go straight to, skipping Authio's sign-in screen. */
719
778
  idpHint?: string;
720
- /** Defaults to `S256`. */
779
+ /** The checks of this request. Defaults to the client's `checks`. */
780
+ checks?: readonly AuthioCheck[];
781
+ /** The PKCE method, when `checks` holds `pkce`. Defaults to the client's `codeChallengeMethod`, else `S256`. */
721
782
  codeChallengeMethod?: AuthioCodeChallengeMethod;
722
- /** A `state` of your own; a random one otherwise. */
783
+ /** A `state` of your own for the `state` check (a random one otherwise); without the check it is sent unchecked. */
723
784
  state?: string;
724
- /** A `nonce` of your own; a random one otherwise. */
785
+ /** A `nonce` of your own for the `nonce` check (a random one otherwise); without the check it is sent unchecked. */
725
786
  nonce?: string;
726
787
  /** Further parameters, sent as given. */
727
788
  extraParameters?: Record<string, string | undefined>;
@@ -731,10 +792,16 @@ interface AuthioAuthorizationRequest {
731
792
  * check the callback and redeem the code.
732
793
  */
733
794
  interface AuthioAuthorizationTransaction {
734
- readonly state: string;
735
- readonly nonce: string;
736
- readonly codeVerifier: string;
737
- readonly codeChallengeMethod: AuthioCodeChallengeMethod;
795
+ /** The checks the request was made with; the callback checks exactly these. */
796
+ readonly checks: readonly Exclude<AuthioCheck, "none">[];
797
+ /** With the `state` check. */
798
+ readonly state?: string;
799
+ /** With the `nonce` check. */
800
+ readonly nonce?: string;
801
+ /** With the `pkce` check. */
802
+ readonly codeVerifier?: string;
803
+ /** With the `pkce` check. */
804
+ readonly codeChallengeMethod?: AuthioCodeChallengeMethod;
738
805
  readonly redirectUri: string;
739
806
  readonly resource?: string;
740
807
  readonly maxAge?: number;
@@ -769,6 +836,22 @@ declare function createAuthioPkce(method?: AuthioCodeChallengeMethod): Promise<A
769
836
  * A random, URL-safe value of `bytes` random bytes, for `state` and `nonce`.
770
837
  */
771
838
  declare function randomValue(bytes?: number): string;
839
+ /**
840
+ * A front-channel logout request (OpenID Connect Front-Channel Logout 1.0): Authio loads the client's
841
+ * `frontchannel_logout_uri` in an iframe, with `iss` and `sid` when the client requires the session.
842
+ */
843
+ interface AuthioFrontChannelLogout {
844
+ /** `sid`: the Authio session that ended, when Authio sent it. */
845
+ readonly sessionId: string | undefined;
846
+ /** `iss`, when Authio sent it; always this client's issuer. */
847
+ readonly issuer: string | undefined;
848
+ }
849
+ /**
850
+ * Reads a front-channel logout request: `iss` and `sid` come together, and `iss` must be the issuer.
851
+ *
852
+ * @throws AuthioCallbackError with `issuer_mismatch` for another issuer, `missing_issuer` for a `sid` without `iss`.
853
+ */
854
+ declare function readAuthioFrontChannelLogout(request: string | URL | URLSearchParams | Readonly<Record<string, unknown>>, issuer: string): AuthioFrontChannelLogout;
772
855
  /**
773
856
  * Parses a `WWW-Authenticate` bearer challenge, or `undefined` when the header holds none.
774
857
  */
@@ -943,13 +1026,43 @@ interface AuthioClientOptions extends AuthioConnectionOptions, AuthioClientCrede
943
1026
  * Seconds before expiry a cached token is renewed (capped at half its lifetime). Defaults to 60.
944
1027
  */
945
1028
  tokenRefreshSkew?: number;
1029
+ /**
1030
+ * What the authorization round trip checks, as the client is registered in Authio: `pkce`, `state`, `nonce`, or
1031
+ * `none`. Only the listed checks are made; omitted, none is (a client that requires PKCE needs `["pkce"]`).
1032
+ */
1033
+ checks?: readonly AuthioCheck[];
1034
+ /** The PKCE method, when `checks` holds `pkce`: one of the client's allowed methods. Defaults to `S256`. */
1035
+ codeChallengeMethod?: AuthioCodeChallengeMethod;
1036
+ /** The `response_mode` sent with every authorization request: `query` or `web_message`. Omitted, none is sent. */
1037
+ responseMode?: AuthioResponseMode;
1038
+ /**
1039
+ * The algorithm the client's ID tokens are signed with, as registered in Authio, which signs the client's logout
1040
+ * tokens with it too. HS256, HS384 and HS512 are verified with `clientSecret` (OpenID Connect Core
1041
+ * §10.1). Omitted, the asymmetric algorithms the discovery document announces are accepted (RS*, PS*, ES*).
1042
+ */
1043
+ idTokenSignedResponseAlg?: string;
1044
+ /** The algorithm a signed UserInfo answer is signed with. Defaults to `idTokenSignedResponseAlg`. */
1045
+ userinfoSignedResponseAlg?: string;
1046
+ /**
1047
+ * The algorithm the client's access tokens are signed with (Authio's second signing setting), for
1048
+ * `readAccessTokenClaims`. HS* is verified with `clientSecret`. Omitted, the asymmetric algorithms the discovery
1049
+ * document announces are accepted, and never HS*.
1050
+ */
1051
+ accessTokenSignedResponseAlg?: string;
946
1052
  /**
947
1053
  * The private half of the client's own encryption key, to read ID tokens, UserInfo and logout tokens Authio
948
- * encrypts to the client (RSA-OAEP or RSA-OAEP-256); or a function returning it.
1054
+ * encrypts to the client; or a function returning it. Without it, nothing is decrypted.
949
1055
  */
950
1056
  clientEncryptionKey?: AuthioEncryptionKeySource;
951
1057
  /** A PEM or JWK file holding `clientEncryptionKey` (Node only), read on first use. */
952
1058
  clientEncryptionKeyPath?: string;
1059
+ /**
1060
+ * The key management algorithms (`alg`) decrypted, as registered for the client. Defaults to RSA-OAEP and
1061
+ * RSA-OAEP-256; RSA1_5 cannot be listed, because Node and WebCrypto cannot decrypt it.
1062
+ */
1063
+ encryptionAlgorithms?: readonly string[];
1064
+ /** The content encryption algorithms (`enc`) decrypted. Defaults to A128CBC-HS256, A192CBC-HS384, A256CBC-HS512. */
1065
+ encryptionMethods?: readonly string[];
953
1066
  /**
954
1067
  * Accepted for parity with the other Authio SDKs; RSA1_5 stays refused here, because Node and WebCrypto cannot
955
1068
  * decrypt it. Defaults to `false`.
@@ -961,8 +1074,6 @@ interface AuthioClientOptions extends AuthioConnectionOptions, AuthioClientCrede
961
1074
  postLogoutRedirectUri?: string;
962
1075
  /** Seconds of clock skew tolerated on ID tokens, logout tokens and signed UserInfo. Defaults to 30. */
963
1076
  clockSkew?: number;
964
- /** Algorithms ID tokens, logout tokens and signed UserInfo are accepted with. Defaults to RS*, PS*, ES*. */
965
- validAlgorithms?: readonly string[];
966
1077
  }
967
1078
  /**
968
1079
  * What a completed sign-in yields.
@@ -1011,10 +1122,14 @@ interface AuthioTokenClient {
1011
1122
  codeVerifier?: string;
1012
1123
  resource?: string;
1013
1124
  } & AuthioCallOptions): Promise<AuthioTokenResponse>;
1014
- /** Refreshes; the answer carries the rotated refresh token, which must be stored. */
1125
+ /**
1126
+ * Refreshes; the answer carries the rotated refresh token, which must be stored. `scopes` may only narrow the
1127
+ * granted ones; `resource` (RFC 8707) asks for an access token addressed to that resource server.
1128
+ */
1015
1129
  refresh(options: {
1016
1130
  refreshToken: string;
1017
1131
  scopes?: Iterable<string> | string;
1132
+ resource?: string;
1018
1133
  } & AuthioCallOptions): Promise<AuthioTokenResponse>;
1019
1134
  /** Exchanges a user's access token for one addressed to another resource (RFC 8693, on-behalf-of). */
1020
1135
  exchange(options: {
@@ -1121,13 +1236,14 @@ interface AuthioClient {
1121
1236
  fetch?: typeof fetch;
1122
1237
  }): typeof fetch;
1123
1238
  /**
1124
- * Builds the authorization URL (PKCE S256, `state`, `nonce` and Authio's parameters) and the transaction to keep
1125
- * until the callback.
1239
+ * Builds the authorization URL (the parameters of the configured `checks`, and Authio's parameters) and the
1240
+ * transaction to keep until the callback.
1126
1241
  */
1127
1242
  createAuthorizationUrl(request?: AuthioAuthorizationRequest & AuthioCallOptions): Promise<AuthioAuthorizationUrl>;
1128
1243
  /**
1129
- * Completes a sign-in: checks `state` and the `iss` parameter (RFC 9207), throws the OAuth error Authio sent back,
1130
- * redeems the code with the PKCE verifier, and validates the ID token (nonce, `at_hash`, `max_age`).
1244
+ * Completes a sign-in: checks `state` (with the `state` check) and the `iss` parameter (RFC 9207), throws the OAuth
1245
+ * error Authio sent back, redeems the code (with the PKCE verifier, with the `pkce` check), and validates the ID
1246
+ * token (`nonce` with the `nonce` check, `at_hash`, `max_age`). A `state` the transaction did not ask for is ignored.
1131
1247
  *
1132
1248
  * @param callback The callback URL, its query, or its parameters (a `web_message` answer, a parsed query).
1133
1249
  * @param transaction What `createAuthorizationUrl` returned with the URL.
@@ -1154,6 +1270,21 @@ interface AuthioClient {
1154
1270
  * @throws AuthioTokenValidationError naming why it was refused (`invalid_logout_token` for the logout-specific rules).
1155
1271
  */
1156
1272
  validateLogoutToken(logoutToken: string, options?: AuthioCallOptions): Promise<AuthioLogoutToken>;
1273
+ /**
1274
+ * Reads a front-channel logout request Authio loaded in an iframe: `iss` must be the issuer, and `sid` comes with
1275
+ * it. End the sessions of `sessionId`, or the browser's own session when Authio sent none.
1276
+ *
1277
+ * @throws AuthioCallbackError when `iss` names another issuer, or `sid` comes without `iss`.
1278
+ */
1279
+ validateFrontChannelLogout(request: string | URL | URLSearchParams | Readonly<Record<string, unknown>>): AuthioFrontChannelLogout;
1280
+ /**
1281
+ * Reads an access token this client received from Authio: decrypted with `clientEncryptionKey` when it is a JWE,
1282
+ * then its signature (with `accessTokenSignedResponseAlg`), `iss` and `exp` checked. Its audience is the API's, so it is not checked. `undefined` for an
1283
+ * opaque token, or an encrypted one without `clientEncryptionKey`.
1284
+ *
1285
+ * @throws AuthioTokenValidationError naming why it was refused.
1286
+ */
1287
+ readAccessTokenClaims(accessToken: string, options?: AuthioCallOptions): Promise<JWTPayload | undefined>;
1157
1288
  /** Builds the end-session URL (RP-Initiated Logout). */
1158
1289
  createEndSessionUrl(request?: AuthioEndSessionRequest & AuthioCallOptions): Promise<string>;
1159
1290
  /**
@@ -1624,4 +1755,4 @@ declare function readWebhookEventData(event: AuthioWebhookEvent): Record<string,
1624
1755
  */
1625
1756
  declare function toCamelCasedMembers<T extends object>(value: T): AuthioCamelCased<T>;
1626
1757
 
1627
- export { type AuthioAccountCredential, type AuthioAccountCredentialKind, type AuthioAccountCredentialOptions, type AuthioAdminEnvelope, AuthioAdminError, type AuthioAdminFailure, type AuthioAdminNotification, type AuthioAdminSuccess, AuthioAsymmetricAlgorithms, type AuthioAuthorizationRequest, type AuthioAuthorizationResult, type AuthioAuthorizationTransaction, type AuthioAuthorizationUrl, type AuthioBearerChallenge, type AuthioCallOptions, AuthioCallbackError, type AuthioCallbackFailure, type AuthioCallerKind, AuthioCallerKinds, type AuthioCamelCase, type AuthioCamelCased, AuthioClaimTypes, type AuthioClient, AuthioClientAssertionAlgorithms, type AuthioClientAuthentication, type AuthioClientCredentialsCache, type AuthioClientCredentialsSettings, type AuthioClientCredentialsToken, type AuthioClientOptions, type AuthioClock, type AuthioCodeChallengeMethod, AuthioConfigurationError, type AuthioConnection, type AuthioConnectionChoice, type AuthioConnectionExchangeResult, type AuthioConnectionGranted, type AuthioConnectionOptions, type AuthioConnectionRefused, type AuthioConnectionRequired, type AuthioConnectionSelectionRequired, AuthioContentEncryptionAlgorithms, type AuthioCredentialForm, AuthioDefaults, type AuthioDeviceAuthorization, type AuthioDevicePollOutcome, type AuthioDiscoveryClient, type AuthioDiscoveryDocument, AuthioDiscoveryError, type AuthioEncryptionKey, type AuthioEncryptionKeySource, type AuthioEndSessionRequest, AuthioError, type AuthioErrorResponse, type AuthioExternalAccount, AuthioGrantTypes, type AuthioIdTokenClaims, type AuthioIntrospectionResult, type AuthioJwtExpectations, AuthioKeyManagementAlgorithms, AuthioLegacyKeyManagementAlgorithms, type AuthioLogoutToken, AuthioOAuthErrors, type AuthioPkcePair, type AuthioPrivateKeyInput, type AuthioPrompt, AuthioPrompts, AuthioProtocolError, AuthioResourceAccess, AuthioResourceAccessClaims, type AuthioResourceAccessRole, type AuthioResourceAccessSource, AuthioScopes, type AuthioSecretSource, type AuthioSigningKeys, type AuthioTokenClient, type AuthioTokenDecrypter, type AuthioTokenDecrypterOptions, type AuthioTokenFailure, type AuthioTokenResponse, AuthioTokenTypes, AuthioTokenValidationError, type AuthioTypedWebhookEvent, type AuthioUserInfo, type AuthioWebhookAdminResource, type AuthioWebhookAdminResourceData, type AuthioWebhookAttackDetected, type AuthioWebhookAttackDetectedData, type AuthioWebhookCredentialCompromised, type AuthioWebhookCredentialCompromisedData, type AuthioWebhookDataByType, type AuthioWebhookEvent, AuthioWebhookEventTypes, AuthioWebhookHeaders, type AuthioWebhookKeysRotated, type AuthioWebhookKeysRotatedData, type AuthioWebhookLogin, type AuthioWebhookLoginData, type AuthioWebhookPing, type AuthioWebhookPingData, type AuthioWebhookTokenReuseDetected, type AuthioWebhookTokenReuseDetectedData, type AuthioWebhookTokenRevoked, type AuthioWebhookTokenRevokedData, type AuthioWebhookUser, type AuthioWebhookUserData, type AuthioWebhookUserLockedOut, type AuthioWebhookUserLockedOutData, type AuthioWebhookUserSuspension, type AuthioWebhookUserSuspensionData, type AuthioWebhookVerificationFailure, type AuthioWebhookVerificationResult, asAdminResourceEvent, asAttackDetectedEvent, asCredentialCompromisedEvent, asKeysRotatedEvent, asLoginEvent, asPingEvent, asTokenReuseDetectedEvent, asTokenRevokedEvent, asUserEvent, asUserLockedOutEvent, asUserSuspensionEvent, computeAuthioTokenHash, computeWebhookSignatureHeader, createAuthioAccountCredential, createAuthioClient, createAuthioDiscoveryClient, createAuthioPkce, createAuthioSigningKeys, createAuthioTokenDecrypter, encryptionKeyFromFile, escapeDataString, isAllowedUrl, isAuthioTokenEncrypted, isKnownWebhookEventType, isWebhookEventOfType, parseAuthioAdminEnvelope, parseAuthioBearerChallenge, parseResourceAccess, parseResourceAccessClaim, parseWebhookEvent, randomValue, readAuthioAdminResponse, readWebhookEventData, resolveConnection, resolveIssuer, resourceAccessSourceOf, seconds, systemClock, toBasicAuthorization, toCamelCasedMembers, toClientCredentialsToken, toConnectionExchangeResult, toCredentialClientId, toDevicePollOutcome, toScopeString, toTokenValidationError, tryParseWebhookEvent, verifyAuthioJwt, verifyWebhookSignature };
1758
+ export { type AuthioAccountCredential, type AuthioAccountCredentialKind, type AuthioAccountCredentialOptions, type AuthioAdminEnvelope, AuthioAdminError, type AuthioAdminFailure, type AuthioAdminNotification, type AuthioAdminSuccess, AuthioAsymmetricAlgorithms, type AuthioAuthorizationRequest, type AuthioAuthorizationResult, type AuthioAuthorizationTransaction, type AuthioAuthorizationUrl, type AuthioBearerChallenge, type AuthioCallOptions, AuthioCallbackError, type AuthioCallbackFailure, type AuthioCallerKind, AuthioCallerKinds, type AuthioCamelCase, type AuthioCamelCased, type AuthioCheck, AuthioChecks, AuthioClaimTypes, type AuthioClient, AuthioClientAssertionAlgorithms, type AuthioClientCredentialsCache, type AuthioClientCredentialsSettings, type AuthioClientCredentialsToken, type AuthioClientOptions, type AuthioClock, type AuthioCodeChallengeMethod, AuthioConfigurationError, type AuthioConnection, type AuthioConnectionChoice, type AuthioConnectionExchangeResult, type AuthioConnectionGranted, type AuthioConnectionOptions, type AuthioConnectionRefused, type AuthioConnectionRequired, type AuthioConnectionSelectionRequired, AuthioContentEncryptionAlgorithms, type AuthioCredentialForm, AuthioDefaults, type AuthioDeviceAuthorization, type AuthioDevicePollOutcome, type AuthioDiscoveryClient, type AuthioDiscoveryDocument, AuthioDiscoveryError, type AuthioEncryptionKey, type AuthioEncryptionKeySource, type AuthioEndSessionRequest, AuthioError, type AuthioErrorResponse, type AuthioExternalAccount, type AuthioFrontChannelLogout, AuthioGrantTypes, AuthioHmacAlgorithms, AuthioHmacMinimumSecretBytes, type AuthioIdTokenClaims, type AuthioIntrospectionResult, type AuthioJwtExpectations, AuthioKeyManagementAlgorithms, AuthioLegacyKeyManagementAlgorithms, type AuthioLogoutToken, AuthioOAuthErrors, type AuthioPkcePair, type AuthioPrivateKeyInput, type AuthioPrompt, AuthioPrompts, AuthioProtocolError, AuthioResourceAccess, AuthioResourceAccessClaims, type AuthioResourceAccessRole, type AuthioResourceAccessSource, type AuthioResponseMode, AuthioScopes, type AuthioSecretSource, type AuthioSigningKeys, AuthioSupportedContentEncryptionAlgorithms, type AuthioTokenClient, type AuthioTokenDecrypter, type AuthioTokenDecrypterOptions, type AuthioTokenEndpointAuthMethod, AuthioTokenEndpointAuthMethods, type AuthioTokenFailure, type AuthioTokenResponse, AuthioTokenTypes, AuthioTokenValidationError, type AuthioTypedWebhookEvent, type AuthioUserInfo, type AuthioWebhookAdminResource, type AuthioWebhookAdminResourceData, type AuthioWebhookAttackDetected, type AuthioWebhookAttackDetectedData, type AuthioWebhookCredentialCompromised, type AuthioWebhookCredentialCompromisedData, type AuthioWebhookDataByType, type AuthioWebhookEvent, AuthioWebhookEventTypes, AuthioWebhookHeaders, type AuthioWebhookKeysRotated, type AuthioWebhookKeysRotatedData, type AuthioWebhookLogin, type AuthioWebhookLoginData, type AuthioWebhookPing, type AuthioWebhookPingData, type AuthioWebhookTokenReuseDetected, type AuthioWebhookTokenReuseDetectedData, type AuthioWebhookTokenRevoked, type AuthioWebhookTokenRevokedData, type AuthioWebhookUser, type AuthioWebhookUserData, type AuthioWebhookUserLockedOut, type AuthioWebhookUserLockedOutData, type AuthioWebhookUserSuspension, type AuthioWebhookUserSuspensionData, type AuthioWebhookVerificationFailure, type AuthioWebhookVerificationResult, asAdminResourceEvent, asAttackDetectedEvent, asCredentialCompromisedEvent, asKeysRotatedEvent, asLoginEvent, asPingEvent, asTokenReuseDetectedEvent, asTokenRevokedEvent, asUserEvent, asUserLockedOutEvent, asUserSuspensionEvent, computeAuthioTokenHash, computeWebhookSignatureHeader, createAuthioAccountCredential, createAuthioClient, createAuthioDiscoveryClient, createAuthioPkce, createAuthioSigningKeys, createAuthioTokenDecrypter, encryptionKeyFromFile, escapeDataString, isAllowedUrl, isAuthioTokenEncrypted, isKnownWebhookEventType, isWebhookEventOfType, parseAuthioAdminEnvelope, parseAuthioBearerChallenge, parseResourceAccess, parseResourceAccessClaim, parseWebhookEvent, randomValue, readAuthioAdminResponse, readAuthioFrontChannelLogout, readWebhookEventData, requireHmacSecretLength, resolveConnection, resolveIssuer, resourceAccessSourceOf, seconds, systemClock, toBasicAuthorization, toCamelCasedMembers, toClientCredentialsToken, toConnectionExchangeResult, toCredentialClientId, toDevicePollOutcome, toScopeString, toTokenValidationError, tryParseWebhookEvent, verifyAuthioJwt, verifyWebhookSignature, withClientSecret };