@forgerock/oidc-client 1.2.0 → 1.3.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/README.md +22 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +8 -1
- package/dist/src/index.js.map +1 -0
- package/dist/src/lib/authorize.request.d.ts +18 -0
- package/dist/src/lib/authorize.request.d.ts.map +1 -0
- package/dist/src/lib/authorize.request.js +125 -0
- package/dist/src/lib/authorize.request.js.map +1 -0
- package/dist/src/lib/authorize.request.types.d.ts +50 -0
- package/dist/src/lib/authorize.request.types.d.ts.map +1 -0
- package/dist/src/lib/authorize.request.types.js +2 -0
- package/dist/src/lib/authorize.request.types.js.map +1 -0
- package/dist/src/lib/authorize.request.utils.d.ts +35 -0
- package/dist/src/lib/authorize.request.utils.d.ts.map +1 -0
- package/dist/src/lib/authorize.request.utils.js +101 -0
- package/dist/src/lib/authorize.request.utils.js.map +1 -0
- package/dist/src/lib/authorize.slice.d.ts +5 -0
- package/dist/src/lib/authorize.slice.d.ts.map +1 -0
- package/dist/src/lib/authorize.slice.js +27 -0
- package/dist/src/lib/authorize.slice.js.map +1 -0
- package/dist/src/lib/client.store.d.ts +115 -0
- package/dist/src/lib/client.store.d.ts.map +1 -0
- package/dist/src/lib/client.store.js +433 -0
- package/dist/src/lib/client.store.js.map +1 -0
- package/dist/src/lib/client.store.utils.d.ts +104 -0
- package/dist/src/lib/client.store.utils.d.ts.map +1 -0
- package/dist/src/lib/client.store.utils.js +92 -0
- package/dist/src/lib/client.store.utils.js.map +1 -0
- package/dist/src/lib/client.types.d.ts +35 -0
- package/dist/src/lib/client.types.d.ts.map +1 -0
- package/dist/src/lib/client.types.js +2 -0
- package/dist/src/lib/client.types.js.map +1 -0
- package/dist/src/lib/config.types.d.ts +22 -0
- package/dist/src/lib/config.types.d.ts.map +1 -0
- package/dist/src/lib/config.types.js +2 -0
- package/dist/src/lib/config.types.js.map +1 -0
- package/dist/src/lib/exchange.request.d.ts +18 -0
- package/dist/src/lib/exchange.request.d.ts.map +1 -0
- package/dist/src/lib/exchange.request.js +22 -0
- package/dist/src/lib/exchange.request.js.map +1 -0
- package/dist/src/lib/exchange.types.d.ts +21 -0
- package/dist/src/lib/exchange.types.d.ts.map +1 -0
- package/dist/src/lib/exchange.types.js +2 -0
- package/dist/src/lib/exchange.types.js.map +1 -0
- package/dist/src/lib/exchange.utils.d.ts +28 -0
- package/dist/src/lib/exchange.utils.d.ts.map +1 -0
- package/dist/src/lib/exchange.utils.js +55 -0
- package/dist/src/lib/exchange.utils.js.map +1 -0
- package/dist/src/lib/logout.request.d.ts +13 -0
- package/dist/src/lib/logout.request.d.ts.map +1 -0
- package/dist/src/lib/logout.request.js +47 -0
- package/dist/src/lib/logout.request.js.map +1 -0
- package/dist/src/lib/oidc.api.d.ts +33 -0
- package/dist/src/lib/oidc.api.d.ts.map +1 -0
- package/dist/src/lib/oidc.api.js +295 -0
- package/dist/src/lib/oidc.api.js.map +1 -0
- package/dist/src/lib/oidc.api.utils.d.ts +3 -0
- package/dist/src/lib/oidc.api.utils.d.ts.map +1 -0
- package/dist/src/lib/oidc.api.utils.js +9 -0
- package/dist/src/lib/oidc.api.utils.js.map +1 -0
- package/dist/src/lib/token.utils.d.ts +2 -0
- package/dist/src/lib/token.utils.d.ts.map +1 -0
- package/dist/src/lib/token.utils.js +15 -0
- package/dist/src/lib/token.utils.js.map +1 -0
- package/dist/src/lib/wellknown.api.d.ts +7 -0
- package/dist/src/lib/wellknown.api.d.ts.map +1 -0
- package/dist/src/lib/wellknown.api.js +22 -0
- package/dist/src/lib/wellknown.api.js.map +1 -0
- package/dist/src/types.d.ts +9 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +10 -0
- package/dist/src/types.js.map +1 -0
- package/dist/tsconfig.lib.tsbuildinfo +1 -1
- package/package.json +35 -10
- package/CHANGELOG.md +0 -11
- package/dist/src/lib/token-store.d.ts +0 -12
- package/dist/src/lib/token-store.d.ts.map +0 -1
- package/dist/src/lib/token-store.js +0 -9
- package/dist/src/lib/token-store.test-d.d.ts +0 -2
- package/dist/src/lib/token-store.test-d.d.ts.map +0 -1
- package/dist/src/lib/token-store.test-d.js +0 -43
- package/eslint.config.mjs +0 -22
- package/src/index.ts +0 -1
- package/src/lib/token-store.test-d.ts +0 -52
- package/src/lib/token-store.test.ts +0 -38
- package/src/lib/token-store.ts +0 -10
- package/tsconfig.json +0 -22
- package/tsconfig.lib.json +0 -40
- package/tsconfig.spec.json +0 -41
- package/typedoc.json +0 -4
- package/vite.config.ts +0 -23
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.store.utils.js","sourceRoot":"","sources":["../../../src/lib/client.store.utils.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,cAAc,EAAwB,MAAM,kBAAkB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAKlD;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAiC,EAChE,iBAAiB,EACjB,MAAM,GAIP;IACC,OAAO,cAAc,CAAC;QACpB,OAAO,EAAE;YACP,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,OAAO;YACtC,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,OAAO;SACjD;QACD,UAAU,EAAE,CAAC,oBAAoB,EAAE,EAAE,CACnC,oBAAoB,CAAC;YACnB,KAAK,EAAE;gBACL,aAAa,EAAE;oBACb;;;uBAGG;oBACH,iBAAiB;oBACjB,MAAM;iBACP;aACF;SACF,CAAC;aACC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC;aAC/B,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAA+B,EAC/B,KAA6C;IAE7C,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,GAAG,4CAA4C,CAAC;QAC3D,IAAI,MAAM,GAAoB,SAAS,CAAC;QACxC,IAAI,SAAS,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACxC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,CAAC;QACD,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QACxB,CAAC;QACD,OAAO;YACL,KAAK,EAAE,qBAAqB;YAC5B,OAAO;YACP,IAAI,EAAE,YAAY;YAClB,MAAM;SACE,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAqD;IACpF,IAAI,KAAmB,CAAC;IAExB,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,KAAK,GAAG;YACN,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,uDAAuD;YAChE,IAAI,EAAE,aAAa;SACX,CAAC;IACb,CAAC;SAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACtC,KAAK,GAAG;YACN,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,sEAAsE;YAC/E,IAAI,EAAE,aAAa;SACX,CAAC;IACb,CAAC;SAAM,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;QAClC,KAAK,GAAG;YACN,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,2DAA2D;YACpE,IAAI,EAAE,aAAa;SACX,CAAC;IACb,CAAC;SAAM,CAAC;QACN,KAAK,GAAG;YACN,KAAK,EAAE,aAAa;YACpB,OAAO,EAAE,2DAA2D;YACpE,IAAI,EAAE,eAAe;SACb,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { GenericError, GetAuthorizationUrlOptions } from '@forgerock/sdk-types';
|
|
2
|
+
import type { StorageConfig } from '@forgerock/storage';
|
|
3
|
+
import { createClientStore } from './client.store.utils.js';
|
|
4
|
+
export type ClientStore = ReturnType<typeof createClientStore>;
|
|
5
|
+
export type RootState = ReturnType<ClientStore['getState']>;
|
|
6
|
+
export type AppDispatch = ReturnType<ClientStore['dispatch']>;
|
|
7
|
+
export interface GetTokensOptions {
|
|
8
|
+
authorizeOptions?: GetAuthorizationUrlOptions;
|
|
9
|
+
backgroundRenew?: boolean;
|
|
10
|
+
forceRenew?: boolean;
|
|
11
|
+
storageOptions?: Partial<StorageConfig>;
|
|
12
|
+
}
|
|
13
|
+
export type RevokeSuccessResult = {
|
|
14
|
+
revokeResponse: null;
|
|
15
|
+
deleteResponse: null;
|
|
16
|
+
};
|
|
17
|
+
export type RevokeErrorResult = {
|
|
18
|
+
error: string;
|
|
19
|
+
revokeResponse: GenericError | null;
|
|
20
|
+
deleteResponse: GenericError | null;
|
|
21
|
+
};
|
|
22
|
+
export type LogoutSuccessResult = RevokeSuccessResult & {
|
|
23
|
+
sessionResponse: null;
|
|
24
|
+
};
|
|
25
|
+
export type LogoutErrorResult = {
|
|
26
|
+
error: string;
|
|
27
|
+
sessionResponse: GenericError | null;
|
|
28
|
+
revokeResponse: GenericError | null;
|
|
29
|
+
deleteResponse: GenericError | null;
|
|
30
|
+
};
|
|
31
|
+
export type UserInfoResponse = {
|
|
32
|
+
sub: string;
|
|
33
|
+
[key: string]: unknown;
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=client.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.types.d.ts","sourceRoot":"","sources":["../../../src/lib/client.types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE/D,MAAM,MAAM,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAE5D,MAAM,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,CAAC,EAAE,0BAA0B,CAAC;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACzC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,cAAc,EAAE,IAAI,CAAC;IACrB,cAAc,EAAE,IAAI,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GAAG;IACtD,eAAe,EAAE,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,YAAY,GAAG,IAAI,CAAC;IACrC,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;IACpC,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.types.js","sourceRoot":"","sources":["../../../src/lib/client.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { AsyncLegacyConfigOptions, WellKnownResponse, ResponseType } from '@forgerock/sdk-types';
|
|
2
|
+
export interface OidcConfig extends AsyncLegacyConfigOptions {
|
|
3
|
+
clientId: string;
|
|
4
|
+
redirectUri: string;
|
|
5
|
+
scope: string;
|
|
6
|
+
serverConfig: {
|
|
7
|
+
wellknown: string;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
};
|
|
10
|
+
responseType?: ResponseType;
|
|
11
|
+
}
|
|
12
|
+
export interface InternalDaVinciConfig extends OidcConfig {
|
|
13
|
+
wellknownResponse: WellKnownResponse;
|
|
14
|
+
}
|
|
15
|
+
export interface OauthTokens {
|
|
16
|
+
accessToken: string;
|
|
17
|
+
idToken: string;
|
|
18
|
+
refreshToken?: string;
|
|
19
|
+
expiresAt?: number;
|
|
20
|
+
expiryTimestamp?: number;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=config.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../src/lib/config.types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,wBAAwB,EACxB,iBAAiB,EACjB,YAAY,EACb,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,UAAW,SAAQ,wBAAwB;IAE1D,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE;QACZ,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../../src/lib/config.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Micro } from 'effect';
|
|
2
|
+
import { logger } from '@forgerock/sdk-logger';
|
|
3
|
+
import type { ClientStore } from './client.types.js';
|
|
4
|
+
import type { OauthTokens, OidcConfig } from './config.types.js';
|
|
5
|
+
import type { StorageConfig } from '@forgerock/storage';
|
|
6
|
+
import type { TokenExchangeErrorResponse } from './exchange.types.js';
|
|
7
|
+
interface BuildTokenExchangeµParams {
|
|
8
|
+
code: string;
|
|
9
|
+
config: OidcConfig;
|
|
10
|
+
endpoint: string;
|
|
11
|
+
log: ReturnType<typeof logger>;
|
|
12
|
+
state: string;
|
|
13
|
+
store: ClientStore;
|
|
14
|
+
options?: Partial<StorageConfig>;
|
|
15
|
+
}
|
|
16
|
+
export declare function buildTokenExchangeµ({ code, config, endpoint, log, state, store, options, }: BuildTokenExchangeµParams): Micro.Micro<OauthTokens, TokenExchangeErrorResponse, never>;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=exchange.request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.request.d.ts","sourceRoot":"","sources":["../../../src/lib/exchange.request.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAK/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAEtE,UAAU,yBAAyB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,UAAU,CAAC,OAAO,MAAM,CAAC,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,GACR,EAAE,yBAAyB,GAAG,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,0BAA0B,EAAE,KAAK,CAAC,CA2BzF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Ping Identity Corporation. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This software may be modified and distributed under the terms
|
|
5
|
+
* of the MIT license. See the LICENSE file for details.
|
|
6
|
+
*/
|
|
7
|
+
import { Micro } from 'effect';
|
|
8
|
+
import { createValuesµ, handleTokenResponseµ, validateValuesµ } from './exchange.utils.js';
|
|
9
|
+
import { oidcApi } from './oidc.api.js';
|
|
10
|
+
export function buildTokenExchangeµ({ code, config, endpoint, log, state, store, options, }) {
|
|
11
|
+
return createValuesµ(code, config, state, endpoint, options).pipe(Micro.flatMap((options) => validateValuesµ(options)), Micro.tap((options) => log.debug('Token exchange values created', options)), Micro.tapError((options) => Micro.sync(() => log.error('Error creating token exchange values', options))), Micro.flatMap((requestOptions) => Micro.promise(() => store.dispatch(oidcApi.endpoints.exchange.initiate(requestOptions)))), Micro.flatMap(({ data, error }) => handleTokenResponseµ(data, error)), Micro.tap((data) => log.debug('Token exchange response handled', data)), Micro.tapError((error) => Micro.sync(() => log.error('Error handling token exchange response', error))), Micro.map((data) => {
|
|
12
|
+
const tokens = {
|
|
13
|
+
accessToken: data.access_token,
|
|
14
|
+
idToken: data.id_token,
|
|
15
|
+
...(data.refresh_token && { refreshToken: data.refresh_token }),
|
|
16
|
+
...(data.expires_in && { expiresAt: data.expires_in }),
|
|
17
|
+
...(data.expires_in && { expiryTimestamp: Date.now() + data.expires_in * 1000 }),
|
|
18
|
+
};
|
|
19
|
+
return tokens;
|
|
20
|
+
}));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=exchange.request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.request.js","sourceRoot":"","sources":["../../../src/lib/exchange.request.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAI/B,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAiBxC,MAAM,UAAU,mBAAmB,CAAC,EAClC,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,GAAG,EACH,KAAK,EACL,KAAK,EACL,OAAO,GACmB;IAC1B,OAAO,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAC/D,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EACpD,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,+BAA+B,EAAE,OAAO,CAAC,CAAC,EAC3E,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,sCAAsC,EAAE,OAAO,CAAC,CAAC,CAC7E,EACD,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE,CAC/B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CACzF,EACD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EACrE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,EACvE,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,CACvB,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC,CAC7E,EACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjB,MAAM,MAAM,GAAG;YACb,WAAW,EAAE,IAAI,CAAC,YAAY;YAC9B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,GAAG,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,EAAE,CAAC;SACjF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { OidcConfig } from './config.types.js';
|
|
2
|
+
export interface TokenExchangeResponse {
|
|
3
|
+
access_token: string;
|
|
4
|
+
id_token: string;
|
|
5
|
+
refresh_token?: string;
|
|
6
|
+
expires_in?: number;
|
|
7
|
+
scope?: string;
|
|
8
|
+
token_type?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface TokenExchangeErrorResponse {
|
|
11
|
+
error: string;
|
|
12
|
+
message: string;
|
|
13
|
+
type: 'exchange_error' | 'network_error' | 'state_error' | 'unknown_error';
|
|
14
|
+
}
|
|
15
|
+
export interface TokenRequestOptions {
|
|
16
|
+
code: string;
|
|
17
|
+
config: OidcConfig;
|
|
18
|
+
endpoint: string;
|
|
19
|
+
verifier?: string;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=exchange.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.types.d.ts","sourceRoot":"","sources":["../../../src/lib/exchange.types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,GAAG,eAAe,CAAC;CAC5E;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.types.js","sourceRoot":"","sources":["../../../src/lib/exchange.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SerializedError } from '@reduxjs/toolkit';
|
|
2
|
+
import type { FetchBaseQueryError } from '@reduxjs/toolkit/query';
|
|
3
|
+
import { Micro } from 'effect';
|
|
4
|
+
import type { GetAuthorizationUrlOptions } from '@forgerock/sdk-types';
|
|
5
|
+
import type { StorageConfig } from '@forgerock/storage';
|
|
6
|
+
import type { TokenExchangeResponse, TokenRequestOptions } from './exchange.types.js';
|
|
7
|
+
import type { TokenExchangeErrorResponse } from './exchange.types.js';
|
|
8
|
+
import type { OidcConfig } from './config.types.js';
|
|
9
|
+
export declare function createValuesµ(code: string, config: OidcConfig, state: string, endpoint: string, options?: Partial<StorageConfig>): Micro.Micro<{
|
|
10
|
+
code: string;
|
|
11
|
+
config: OidcConfig;
|
|
12
|
+
state: string;
|
|
13
|
+
storedValues: GetAuthorizationUrlOptions;
|
|
14
|
+
endpoint: string;
|
|
15
|
+
}, never, never>;
|
|
16
|
+
export declare function handleTokenResponseµ(data: TokenExchangeResponse | undefined, error?: FetchBaseQueryError | SerializedError): Micro.Micro<TokenExchangeResponse, TokenExchangeErrorResponse, never>;
|
|
17
|
+
export declare function validateValuesµ({ code, config, state, storedValues, endpoint, }: {
|
|
18
|
+
code: string;
|
|
19
|
+
config: OidcConfig;
|
|
20
|
+
state: string;
|
|
21
|
+
storedValues: GetAuthorizationUrlOptions;
|
|
22
|
+
endpoint: string;
|
|
23
|
+
}): Micro.Micro<never, {
|
|
24
|
+
readonly error: "State mismatch";
|
|
25
|
+
readonly message: "The provided state does not match the stored state. This is likely due to passing in used, returned, authorize parameters.";
|
|
26
|
+
readonly type: "state_error";
|
|
27
|
+
}, never> | Micro.Micro<TokenRequestOptions, never, never>;
|
|
28
|
+
//# sourceMappingURL=exchange.utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.utils.d.ts","sourceRoot":"","sources":["../../../src/lib/exchange.utils.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAG/B,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACtF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC;;;;;;iBAajC;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,KAAK,CAAC,EAAE,mBAAmB,GAAG,eAAe,GAC5C,KAAK,CAAC,KAAK,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,KAAK,CAAC,CAyBvE;AAED,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,QAAQ,GACT,EAAE;IACD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,0BAA0B,CAAC;IACzC,QAAQ,EAAE,MAAM,CAAC;CAClB;;;;2DAiBA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Micro } from 'effect';
|
|
2
|
+
import { getStoredAuthUrlValues } from '@forgerock/sdk-oidc';
|
|
3
|
+
export function createValuesµ(code, config, state, endpoint, options) {
|
|
4
|
+
return Micro.sync(() => {
|
|
5
|
+
const storedValues = getStoredAuthUrlValues(config.clientId, options?.prefix);
|
|
6
|
+
return {
|
|
7
|
+
code,
|
|
8
|
+
config,
|
|
9
|
+
state,
|
|
10
|
+
storedValues,
|
|
11
|
+
endpoint,
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
export function handleTokenResponseµ(data, error) {
|
|
16
|
+
if (error) {
|
|
17
|
+
let message;
|
|
18
|
+
if ('status' in error) {
|
|
19
|
+
message = 'error' in error ? error.error : JSON.stringify(error.data);
|
|
20
|
+
}
|
|
21
|
+
else if ('message' in error) {
|
|
22
|
+
message = error.message;
|
|
23
|
+
}
|
|
24
|
+
return Micro.fail({
|
|
25
|
+
error: 'Token Exchange failure',
|
|
26
|
+
message: message || 'Unknown error during token exchange',
|
|
27
|
+
type: 'exchange_error',
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
if (!data) {
|
|
31
|
+
return Micro.fail({
|
|
32
|
+
error: 'Token Exchange failure',
|
|
33
|
+
message: 'No data returned from token exchange',
|
|
34
|
+
type: 'exchange_error',
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
return Micro.succeed(data);
|
|
38
|
+
}
|
|
39
|
+
export function validateValuesµ({ code, config, state, storedValues, endpoint, }) {
|
|
40
|
+
if (!storedValues || storedValues.state !== state) {
|
|
41
|
+
const err = {
|
|
42
|
+
error: 'State mismatch',
|
|
43
|
+
message: 'The provided state does not match the stored state. This is likely due to passing in used, returned, authorize parameters.',
|
|
44
|
+
type: 'state_error',
|
|
45
|
+
};
|
|
46
|
+
return Micro.fail(err);
|
|
47
|
+
}
|
|
48
|
+
return Micro.succeed({
|
|
49
|
+
code,
|
|
50
|
+
config,
|
|
51
|
+
endpoint,
|
|
52
|
+
...(storedValues.verifier && { verifier: storedValues.verifier }), // Optional PKCE
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=exchange.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exchange.utils.js","sourceRoot":"","sources":["../../../src/lib/exchange.utils.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAE/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAQ7D,MAAM,UAAU,aAAa,CAC3B,IAAY,EACZ,MAAkB,EAClB,KAAa,EACb,QAAgB,EAChB,OAAgC;IAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM,YAAY,GAAG,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAE9E,OAAO;YACL,IAAI;YACJ,MAAM;YACN,KAAK;YACL,YAAY;YACZ,QAAQ;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAuC,EACvC,KAA6C;IAE7C,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,OAAO,CAAC;QACZ,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;YACtB,OAAO,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;YAC9B,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC1B,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EAAE,OAAO,IAAI,qCAAqC;YACzD,IAAI,EAAE,gBAAgB;SACO,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC,IAAI,CAAC;YAChB,KAAK,EAAE,wBAAwB;YAC/B,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EAAE,gBAAgB;SACO,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAC9B,IAAI,EACJ,MAAM,EACN,KAAK,EACL,YAAY,EACZ,QAAQ,GAOT;IACC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,KAAK,KAAK,KAAK,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG;YACV,KAAK,EAAE,gBAAgB;YACvB,OAAO,EACL,4HAA4H;YAC9H,IAAI,EAAE,aAAa;SACX,CAAC;QAEX,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,KAAK,CAAC,OAAO,CAAC;QACnB,IAAI;QACJ,MAAM;QACN,QAAQ;QACR,GAAG,CAAC,YAAY,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,EAAE,gBAAgB;KAC7D,CAAC,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Micro } from 'effect';
|
|
2
|
+
import type { OauthTokens, OidcConfig } from './config.types.js';
|
|
3
|
+
import type { WellKnownResponse } from '@forgerock/sdk-types';
|
|
4
|
+
import type { StorageClient } from '@forgerock/storage';
|
|
5
|
+
import type { ClientStore, LogoutErrorResult, LogoutSuccessResult } from './client.types.js';
|
|
6
|
+
export declare function logoutµ({ tokens, config, wellknown, store, storageClient, }: {
|
|
7
|
+
tokens: OauthTokens;
|
|
8
|
+
config: OidcConfig;
|
|
9
|
+
wellknown: WellKnownResponse;
|
|
10
|
+
store: ClientStore;
|
|
11
|
+
storageClient: StorageClient<OauthTokens>;
|
|
12
|
+
}): Micro.Micro<LogoutSuccessResult, LogoutErrorResult, never>;
|
|
13
|
+
//# sourceMappingURL=logout.request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.request.d.ts","sourceRoot":"","sources":["../../../src/lib/logout.request.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAI/B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7F,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,GACd,EAAE;IACD,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,iBAAiB,CAAC;IAC7B,KAAK,EAAE,WAAW,CAAC;IACnB,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;CAC3C,8DAoDA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025 Ping Identity Corporation. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* This software may be modified and distributed under the terms
|
|
5
|
+
* of the MIT license. See the LICENSE file for details.
|
|
6
|
+
*/
|
|
7
|
+
import { Micro } from 'effect';
|
|
8
|
+
import { oidcApi } from './oidc.api.js';
|
|
9
|
+
import { createLogoutError } from './client.store.utils.js';
|
|
10
|
+
export function logoutµ({ tokens, config, wellknown, store, storageClient, }) {
|
|
11
|
+
return Micro.zip(
|
|
12
|
+
// End session with the ID token
|
|
13
|
+
Micro.promise(() => store.dispatch(oidcApi.endpoints.endSession.initiate({
|
|
14
|
+
idToken: tokens.idToken,
|
|
15
|
+
endpoint: wellknown.ping_end_idp_session_endpoint || wellknown.end_session_endpoint,
|
|
16
|
+
}))).pipe(Micro.map(({ data, error }) => createLogoutError(data, error))),
|
|
17
|
+
// Revoke the access token
|
|
18
|
+
Micro.promise(() => store.dispatch(oidcApi.endpoints.revoke.initiate({
|
|
19
|
+
accessToken: tokens.accessToken,
|
|
20
|
+
clientId: config.clientId,
|
|
21
|
+
endpoint: wellknown.revocation_endpoint,
|
|
22
|
+
}))).pipe(Micro.map(({ data, error }) => createLogoutError(data, error)))).pipe(
|
|
23
|
+
// Delete local token and return combined results
|
|
24
|
+
Micro.flatMap(([sessionResponse, revokeResponse]) => Micro.promise(() => storageClient.remove()).pipe(Micro.flatMap((deleteResponse) => {
|
|
25
|
+
const isInnerRequestError = (sessionResponse && 'error' in sessionResponse) ||
|
|
26
|
+
(revokeResponse && 'error' in revokeResponse) ||
|
|
27
|
+
(deleteResponse && 'error' in deleteResponse);
|
|
28
|
+
if (isInnerRequestError) {
|
|
29
|
+
const result = {
|
|
30
|
+
error: 'Inner request error',
|
|
31
|
+
sessionResponse,
|
|
32
|
+
revokeResponse,
|
|
33
|
+
deleteResponse,
|
|
34
|
+
};
|
|
35
|
+
return Micro.fail(result);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const result = {
|
|
39
|
+
sessionResponse: null,
|
|
40
|
+
revokeResponse: null,
|
|
41
|
+
deleteResponse: null,
|
|
42
|
+
};
|
|
43
|
+
return Micro.succeed(result);
|
|
44
|
+
}
|
|
45
|
+
}))));
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=logout.request.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logout.request.js","sourceRoot":"","sources":["../../../src/lib/logout.request.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAO5D,MAAM,UAAU,OAAO,CAAC,EACtB,MAAM,EACN,MAAM,EACN,SAAS,EACT,KAAK,EACL,aAAa,GAOd;IACC,OAAO,KAAK,CAAC,GAAG;IACd,gCAAgC;IAChC,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CACjB,KAAK,CAAC,QAAQ,CACZ,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,SAAS,CAAC,6BAA6B,IAAI,SAAS,CAAC,oBAAoB;KACpF,CAAC,CACH,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;IAEtE,0BAA0B;IAC1B,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CACjB,KAAK,CAAC,QAAQ,CACZ,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,QAAQ,EAAE,SAAS,CAAC,mBAAmB;KACxC,CAAC,CACH,CACF,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CACvE,CAAC,IAAI;IACJ,iDAAiD;IACjD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,cAAc,CAAC,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC9C,KAAK,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;QAC/B,MAAM,mBAAmB,GACvB,CAAC,eAAe,IAAI,OAAO,IAAI,eAAe,CAAC;YAC/C,CAAC,cAAc,IAAI,OAAO,IAAI,cAAc,CAAC;YAC7C,CAAC,cAAc,IAAI,OAAO,IAAI,cAAc,CAAC,CAAC;QAEhD,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,MAAM,GAAsB;gBAChC,KAAK,EAAE,qBAAqB;gBAC5B,eAAe;gBACf,cAAc;gBACd,cAAc;aACf,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,MAAM,GAAwB;gBAClC,eAAe,EAAE,IAAI;gBACrB,cAAc,EAAE,IAAI;gBACpB,cAAc,EAAE,IAAI;aACrB,CAAC;YACF,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC,CACH,CACF,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { type FetchArgs, type FetchBaseQueryError } from '@reduxjs/toolkit/query';
|
|
2
|
+
import type { OidcConfig } from './config.types.js';
|
|
3
|
+
import type { TokenExchangeResponse } from './exchange.types.js';
|
|
4
|
+
import type { AuthorizationSuccess, AuthorizeSuccessResponse } from './authorize.request.types.js';
|
|
5
|
+
import type { UserInfoResponse } from './client.types.js';
|
|
6
|
+
export declare const oidcApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, {
|
|
7
|
+
authorizeFetch: import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
8
|
+
url: string;
|
|
9
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, AuthorizeSuccessResponse, "oidc", unknown>;
|
|
10
|
+
authorizeIframe: import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
11
|
+
url: string;
|
|
12
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, AuthorizationSuccess, "oidc", unknown>;
|
|
13
|
+
endSession: import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
14
|
+
idToken: string;
|
|
15
|
+
endpoint: string;
|
|
16
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, null, "oidc", unknown>;
|
|
17
|
+
exchange: import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
18
|
+
code: string;
|
|
19
|
+
config: OidcConfig;
|
|
20
|
+
endpoint: string;
|
|
21
|
+
verifier?: string;
|
|
22
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, TokenExchangeResponse, "oidc", unknown>;
|
|
23
|
+
revoke: import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
24
|
+
accessToken: string;
|
|
25
|
+
clientId?: string;
|
|
26
|
+
endpoint: string;
|
|
27
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, object, "oidc", unknown>;
|
|
28
|
+
userInfo: import("@reduxjs/toolkit/query").MutationDefinition<{
|
|
29
|
+
accessToken: string;
|
|
30
|
+
endpoint: string;
|
|
31
|
+
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, UserInfoResponse, "oidc", unknown>;
|
|
32
|
+
}, "oidc", never, typeof import("@reduxjs/toolkit/query").coreModuleName>;
|
|
33
|
+
//# sourceMappingURL=oidc.api.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oidc.api.d.ts","sourceRoot":"","sources":["../../../src/lib/oidc.api.ts"],"names":[],"mappings":"AAMA,OAAO,EAGL,KAAK,SAAS,EACd,KAAK,mBAAmB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAUpD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACnG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAO1D,eAAO,MAAM,OAAO;;aAIkD,MAAM;;;aAqET,MAAM;;;iBAoFvB,MAAM;kBAAY,MAAM;;;cA+C5D,MAAM;gBACJ,UAAU;kBACR,MAAM;mBACL,MAAM;;;qBA6D2B,MAAM;mBAAa,MAAM;kBAAY,MAAM;;;qBAkD/B,MAAM;kBAAY,MAAM;;yEA2CtF,CAAC"}
|