@forgerock/oidc-client 1.3.0 → 2.0.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 +287 -17
- package/dist/src/lib/authorize.request.d.ts +2 -2
- package/dist/src/lib/authorize.request.utils.d.ts +6 -6
- package/dist/src/lib/authorize.request.utils.js +2 -2
- package/dist/src/lib/client.store.d.ts +2 -2
- package/dist/src/lib/client.store.d.ts.map +1 -1
- package/dist/src/lib/client.store.js +12 -10
- package/dist/src/lib/client.store.js.map +1 -1
- package/dist/src/lib/client.store.utils.d.ts +2 -2
- package/dist/src/lib/client.types.d.ts +2 -0
- package/dist/src/lib/client.types.d.ts.map +1 -1
- package/dist/src/lib/config.types.d.ts +1 -4
- package/dist/src/lib/config.types.d.ts.map +1 -1
- package/dist/src/lib/logout.request.d.ts +2 -2
- package/dist/src/lib/wellknown.api.d.ts +233 -4
- package/dist/src/lib/wellknown.api.d.ts.map +1 -1
- package/dist/src/lib/wellknown.api.js +34 -1
- package/dist/src/lib/wellknown.api.js.map +1 -1
- package/dist/src/types.d.ts +1 -1
- package/package.json +9 -9
package/README.md
CHANGED
|
@@ -1,25 +1,295 @@
|
|
|
1
|
-
#
|
|
1
|
+
# OIDC Client
|
|
2
2
|
|
|
3
|
-
A generic OpenID Connect (OIDC) client library for JavaScript and TypeScript, designed to work with
|
|
3
|
+
A generic OpenID Connect (OIDC) client library for JavaScript and TypeScript, designed to work with PingOne platforms.
|
|
4
|
+
|
|
5
|
+
The oidc module follows the [OIDC](https://openid.net/specs/openid-connect-core-1_0.html) specification and provides a simple and easy-to-use API to interact with the OIDC server. It allows you to authenticate, retrieve the access token, revoke the token, and sign out from the OIDC server.
|
|
6
|
+
|
|
7
|
+
## Table of Contents
|
|
8
|
+
|
|
9
|
+
- [Installation](#installation)
|
|
10
|
+
- [Initialization](#initialization)
|
|
11
|
+
- [Configuration Options](#configuration-options)
|
|
12
|
+
- [Quick Start](#quick-start)
|
|
13
|
+
- [API Reference](#api-reference)
|
|
14
|
+
- [authorize](#authorize)
|
|
15
|
+
- [token](#token)
|
|
16
|
+
- [user](#user)
|
|
17
|
+
- [Usage Examples](#usage-examples)
|
|
18
|
+
- [Redirect-Based Login](#redirect-based-login-authorizeurl)
|
|
19
|
+
- [Background Authorization](#background-authorization-authorizebackground)
|
|
20
|
+
- [Automatic Token Renewal](#automatic-token-renewal)
|
|
21
|
+
- [Error Handling](#error-handling)
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
pnpm add @forgerock/oidc-client
|
|
27
|
+
# or
|
|
28
|
+
npm install @forgerock/oidc-client
|
|
29
|
+
# or
|
|
30
|
+
yarn add @forgerock/oidc-client
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Initialization
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
import { oidc } from '@forgerock/oidc-client';
|
|
37
|
+
import { OidcConfig, OidcClient } from '@forgerock/oidc-client/types';
|
|
38
|
+
|
|
39
|
+
const config: OidcConfig = {
|
|
40
|
+
serverConfig: { wellknown: 'https://example.com/.well-known/openid-configuration' },
|
|
41
|
+
clientId: 'example-client-id',
|
|
42
|
+
redirectUri: 'https://example-app/redirect-uri',
|
|
43
|
+
scope: 'openid profile email',
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const oidcClient: OidcClient = await oidc({ config });
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Configuration Options
|
|
50
|
+
|
|
51
|
+
The `oidc()` initialization function accepts the following configuration:
|
|
52
|
+
|
|
53
|
+
- **serverConfig** (required)
|
|
54
|
+
- **wellknown** (required) - URL to the OIDC provider's well-known configuration endpoint
|
|
55
|
+
- **clientId** (required) - Your application's client ID registered with the OIDC provider
|
|
56
|
+
- **redirectUri** (required) - The URI where the OIDC provider will redirect after authentication
|
|
57
|
+
- **scope** (required) - Space-separated list of requested scopes (e.g., `'openid profile email'`)
|
|
58
|
+
- **storage** (optional) - Storage configuration for tokens (defaults to localStorage)
|
|
59
|
+
- **timeout** (optional) - Request timeout in milliseconds
|
|
60
|
+
- **additionalParameters** (optional) - Additional parameters to include in authorization requests
|
|
61
|
+
|
|
62
|
+
## Quick Start
|
|
63
|
+
|
|
64
|
+
Here's a minimal example to get started:
|
|
65
|
+
|
|
66
|
+
```js
|
|
67
|
+
import { oidc } from '@forgerock/oidc-client';
|
|
68
|
+
|
|
69
|
+
// Initialize the client
|
|
70
|
+
const oidcClient = await oidc({ config });
|
|
71
|
+
|
|
72
|
+
// Start authorization in the background
|
|
73
|
+
const authResponse = await oidcClient.authorize.background();
|
|
74
|
+
|
|
75
|
+
// Get tokens
|
|
76
|
+
const tokens = await oidcClient.token.exchange(authResponse.code, authResponse.state);
|
|
77
|
+
|
|
78
|
+
// Get user information
|
|
79
|
+
const user = await oidcClient.user.info();
|
|
80
|
+
|
|
81
|
+
// Clean up: logout and revoke tokens
|
|
82
|
+
await oidcClient.user.logout();
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
## API Reference
|
|
86
|
+
|
|
87
|
+
### authorize
|
|
88
|
+
|
|
89
|
+
Methods for creating and handling authorization flows.
|
|
90
|
+
|
|
91
|
+
#### `authorize.url(options?)`
|
|
92
|
+
|
|
93
|
+
Creates an authorization URL with the provided options or defaults from the configuration.
|
|
94
|
+
|
|
95
|
+
- **Parameters**: `GetAuthorizationUrlOptions` (optional)
|
|
96
|
+
- **Returns**: `Promise<string | GenericError>` - The authorization URL or an error
|
|
97
|
+
|
|
98
|
+
```js
|
|
99
|
+
const authUrl = await oidcClient.authorize.url();
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
#### `authorize.background(options?)`
|
|
103
|
+
|
|
104
|
+
Initiates the authorization process in the background, returning the authorization code and state or an error. This method handles the authorization flow without requiring user interaction.
|
|
105
|
+
|
|
106
|
+
- **Parameters**: `GetAuthorizationUrlOptions` (optional)
|
|
107
|
+
- **Returns**: `Promise<AuthorizationSuccess | AuthorizationError>` - An object containing `code` and `state` on success, or error details on failure
|
|
108
|
+
|
|
109
|
+
```js
|
|
110
|
+
const authResponse = await oidcClient.authorize.background();
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### token
|
|
114
|
+
|
|
115
|
+
Methods for managing OAuth tokens.
|
|
116
|
+
|
|
117
|
+
#### `token.exchange(code, state, options?)`
|
|
118
|
+
|
|
119
|
+
Exchanges an authorization code for tokens using the token endpoint from the wellknown configuration. The tokens are automatically stored in the configured storage.
|
|
120
|
+
|
|
121
|
+
- **Parameters**:
|
|
122
|
+
- `code` (string) - The authorization code received from the authorization server
|
|
123
|
+
- `state` (string) - The state parameter from the authorization URL creation
|
|
124
|
+
- `options` (`Partial<StorageConfig>`, optional) - Storage configuration for persisting tokens
|
|
125
|
+
- **Returns**: `Promise<OauthTokens | TokenExchangeErrorResponse | GenericError>` - The new tokens or an error
|
|
126
|
+
|
|
127
|
+
```js
|
|
128
|
+
const tokens = await oidcClient.token.exchange(authCode, authState);
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
#### `token.get(options?)`
|
|
132
|
+
|
|
133
|
+
Retrieves the current OAuth tokens from storage. Optionally auto-renews tokens if they are expired or if `backgroundRenew` is enabled.
|
|
134
|
+
|
|
135
|
+
- **Parameters**: `GetTokensOptions` (optional)
|
|
136
|
+
- `forceRenew` - Force token renewal even if not expired
|
|
137
|
+
- `backgroundRenew` - Automatically renew expired tokens
|
|
138
|
+
- `authorizeOptions` - Options for authorization during renewal
|
|
139
|
+
- `storageOptions` - Storage configuration options
|
|
140
|
+
- **Returns**: `Promise<OauthTokens | TokenExchangeErrorResponse | AuthorizationError | GenericError>` - The tokens or an error
|
|
4
141
|
|
|
5
142
|
```js
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
143
|
+
const tokens = await oidcClient.token.get();
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
#### `token.revoke()`
|
|
147
|
+
|
|
148
|
+
Revokes the access token using the revocation endpoint from the wellknown configuration. Requires an access token stored in the configured storage.
|
|
149
|
+
|
|
150
|
+
- **Parameters**: None
|
|
151
|
+
- **Returns**: `Promise<GenericError | RevokeSuccessResult | RevokeErrorResult>` - Confirmation of revocation or an error
|
|
152
|
+
|
|
153
|
+
```js
|
|
154
|
+
const response = await oidcClient.token.revoke();
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### user
|
|
158
|
+
|
|
159
|
+
Methods for user information and session management.
|
|
160
|
+
|
|
161
|
+
#### `user.info()`
|
|
162
|
+
|
|
163
|
+
Retrieves user information using the userinfo endpoint from the wellknown configuration. Requires an access token stored in the configured storage.
|
|
164
|
+
|
|
165
|
+
- **Parameters**: None
|
|
166
|
+
- **Returns**: `Promise<GenericError | UserInfoResponse>` - User information object or an error
|
|
167
|
+
|
|
168
|
+
```js
|
|
169
|
+
const user = await oidcClient.user.info();
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
#### `user.logout()`
|
|
173
|
+
|
|
174
|
+
Logs out the user by revoking tokens and clearing the storage. Uses the end session endpoint from the wellknown configuration.
|
|
175
|
+
|
|
176
|
+
- **Parameters**: None
|
|
177
|
+
- **Returns**: `Promise<GenericError | LogoutSuccessResult | LogoutErrorResult>` - Confirmation of logout or an error
|
|
178
|
+
|
|
179
|
+
```js
|
|
180
|
+
const logoutResponse = await oidcClient.user.logout();
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
## Usage Examples
|
|
184
|
+
|
|
185
|
+
### Redirect-Based Login (`authorize.url()`)
|
|
186
|
+
|
|
187
|
+
Here's a practical example of implementing a redirect-based authentication flow. The user is redirected to the OIDC provider's login page:
|
|
188
|
+
|
|
189
|
+
```js
|
|
190
|
+
import { oidc } from '@forgerock/oidc-client';
|
|
191
|
+
|
|
192
|
+
// 1. Initialize the client
|
|
193
|
+
const oidcClient = await oidc({ config });
|
|
194
|
+
|
|
195
|
+
// 2. Generate authorization URL and redirect user to OIDC provider
|
|
196
|
+
const authUrl = await oidcClient.authorize.url();
|
|
197
|
+
if (typeof authUrl !== 'string' && 'error' in authUrl) {
|
|
198
|
+
console.error('Failed to generate authorization URL:', authUrl.error);
|
|
199
|
+
} else {
|
|
200
|
+
// Redirect to OIDC provider's login page
|
|
201
|
+
window.location.assign(authUrl);
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
// After user logs in and is redirected back to your app with authorization code
|
|
205
|
+
// 3. Exchange authorization code for tokens
|
|
206
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
207
|
+
const code = urlParams.get('code');
|
|
208
|
+
const state = urlParams.get('state');
|
|
209
|
+
|
|
210
|
+
const tokens = await oidcClient.token.exchange(code, state);
|
|
211
|
+
if ('error' in tokens) {
|
|
212
|
+
console.error('Failed to exchange code for tokens:', tokens.error);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
// 4. Retrieve user information
|
|
216
|
+
const userInfo = await oidcClient.user.info();
|
|
217
|
+
if ('error' in userInfo) {
|
|
218
|
+
console.error('Failed to fetch user info:', userInfo.error);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
// 5. Later, when user wants to logout
|
|
222
|
+
const logoutResult = await oidcClient.user.logout();
|
|
223
|
+
if ('error' in logoutResult) {
|
|
224
|
+
console.error('Logout failed:', logoutResult.error);
|
|
225
|
+
}
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
### Background Authorization (`authorize.background()`)
|
|
229
|
+
|
|
230
|
+
Here's an example of initiating the authorization process in the background without user interaction. This method returns the authorization code and state directly:
|
|
231
|
+
|
|
232
|
+
```js
|
|
233
|
+
import { oidc } from '@forgerock/oidc-client';
|
|
234
|
+
|
|
235
|
+
// 1. Initialize the client
|
|
236
|
+
const oidcClient = await oidc({ config });
|
|
237
|
+
|
|
238
|
+
// 2. Start authorization in the background
|
|
239
|
+
const authResponse = await oidcClient.authorize.background();
|
|
240
|
+
if ('error' in authResponse) {
|
|
241
|
+
console.error('Background authorization failed:', authResponse.error);
|
|
242
|
+
} else {
|
|
243
|
+
// 3. Exchange the authorization code for tokens
|
|
244
|
+
const tokens = await oidcClient.token.exchange(authResponse.code, authResponse.state);
|
|
245
|
+
if ('error' in tokens) {
|
|
246
|
+
console.error('Failed to exchange code for tokens:', tokens.error);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// 4. Retrieve user information
|
|
250
|
+
const userInfo = await oidcClient.user.info();
|
|
251
|
+
if ('error' in userInfo) {
|
|
252
|
+
console.error('Failed to fetch user info:', userInfo.error);
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
// 5. Later, when user wants to logout
|
|
256
|
+
const logoutResult = await oidcClient.user.logout();
|
|
257
|
+
if ('error' in logoutResult) {
|
|
258
|
+
console.error('Logout failed:', logoutResult.error);
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
### Automatic Token Renewal
|
|
264
|
+
|
|
265
|
+
Use automatic token renewal to keep the user's session valid. With the `backgroundRenew` option, this will either return valid tokens from storage if they exist or fetch new tokens if they are expired.
|
|
266
|
+
|
|
267
|
+
```js
|
|
268
|
+
// Get tokens with automatic renewal if expired
|
|
269
|
+
const tokens = await oidcClient.token.get({
|
|
270
|
+
backgroundRenew: true,
|
|
9
271
|
});
|
|
10
272
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
273
|
+
if ('error' in tokens) {
|
|
274
|
+
console.error('Failed to retrieve tokens:', tokens.error);
|
|
275
|
+
} else {
|
|
276
|
+
console.log('Access token:', tokens.access_token);
|
|
277
|
+
}
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
### Error Handling
|
|
14
281
|
|
|
15
|
-
|
|
16
|
-
const newTokens = await oidcClient.token.exchange({
|
|
17
|
-
/* code, state */
|
|
18
|
-
}); // Returns new tokens or error
|
|
19
|
-
const existingTokens = await oidcClient.token.get(); // Returns existing tokens or error
|
|
20
|
-
const response = await oidcClient.token.revoke(); // Revokes an access token and returns the response or an error
|
|
282
|
+
The library uses a consistent error handling pattern. All methods return either a success response or an error object. Check if the response contains an `error` property:
|
|
21
283
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const
|
|
284
|
+
```js
|
|
285
|
+
// Pattern for handling responses
|
|
286
|
+
const result = await oidcClient.user.info();
|
|
287
|
+
if ('error' in result) {
|
|
288
|
+
// Handle error case
|
|
289
|
+
console.error('Error:', result.error);
|
|
290
|
+
console.error('Error description:', result.error_description);
|
|
291
|
+
} else {
|
|
292
|
+
// Handle success case
|
|
293
|
+
console.log('User:', result);
|
|
294
|
+
}
|
|
25
295
|
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CustomLogger } from '@forgerock/sdk-logger';
|
|
2
2
|
import { Micro } from 'effect';
|
|
3
3
|
import type { ClientStore } from './client.types.js';
|
|
4
|
-
import type { GetAuthorizationUrlOptions,
|
|
4
|
+
import type { GetAuthorizationUrlOptions, WellknownResponse } from '@forgerock/sdk-types';
|
|
5
5
|
import type { AuthorizationError, AuthorizationSuccess } from './authorize.request.types.js';
|
|
6
6
|
import type { OidcConfig } from './config.types.js';
|
|
7
7
|
/**
|
|
@@ -14,5 +14,5 @@ import type { OidcConfig } from './config.types.js';
|
|
|
14
14
|
* @param {GetAuthorizationUrlOptions} options - Optional parameters for the authorization request.
|
|
15
15
|
* @returns {Micro.Micro<AuthorizationSuccess, AuthorizationError, never>} - A micro effect that resolves to the authorization response.
|
|
16
16
|
*/
|
|
17
|
-
export declare function authorizeµ(wellknown:
|
|
17
|
+
export declare function authorizeµ(wellknown: WellknownResponse, config: OidcConfig, log: CustomLogger, store: ClientStore, options?: GetAuthorizationUrlOptions): Micro.Micro<AuthorizationSuccess, AuthorizationError, never>;
|
|
18
18
|
//# sourceMappingURL=authorize.request.d.ts.map
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import { Micro } from 'effect';
|
|
2
|
-
import type {
|
|
2
|
+
import type { WellknownResponse, GetAuthorizationUrlOptions } from '@forgerock/sdk-types';
|
|
3
3
|
import type { AuthorizationError, AuthorizationSuccess, BuildAuthorizationData, OptionalAuthorizeOptions } from './authorize.request.types.js';
|
|
4
4
|
import type { OidcConfig } from './config.types.js';
|
|
5
5
|
/**
|
|
6
6
|
* @function buildAuthorizeOptionsµ
|
|
7
7
|
* @description Builds the authorization options for the OIDC client.
|
|
8
|
-
* @param {
|
|
8
|
+
* @param {WellknownResponse} wellknown - The well-known configuration for the OIDC server.
|
|
9
9
|
* @param {OptionalAuthorizeOptions} options - Optional parameters for the authorization request.
|
|
10
10
|
* @returns {Micro.Micro<BuildAuthorizationData, AuthorizationError, never>}
|
|
11
11
|
*/
|
|
12
|
-
export declare function buildAuthorizeOptionsµ(wellknown:
|
|
12
|
+
export declare function buildAuthorizeOptionsµ(wellknown: WellknownResponse, config: OidcConfig, options?: OptionalAuthorizeOptions): Micro.Micro<BuildAuthorizationData, AuthorizationError, never>;
|
|
13
13
|
/**
|
|
14
14
|
* @function createAuthorizeErrorµ
|
|
15
15
|
* @description Creates an error response with new Authorize URL for the authorization request.
|
|
16
16
|
* @param { error: string; error_description: string } res - The error response from the authorization request.
|
|
17
|
-
* @param {
|
|
17
|
+
* @param {WellknownResponse} wellknown- The well-known configuration for the OIDC server.
|
|
18
18
|
* @param { OidcConfig } config- The OIDC client configuration.
|
|
19
19
|
* @param { GetAuthorizationUrlOptions } options- Optional parameters for the authorization request.
|
|
20
20
|
* @returns { Micro.Micro<never, AuthorizationError, never> }
|
|
@@ -22,7 +22,7 @@ export declare function buildAuthorizeOptionsµ(wellknown: WellKnownResponse, co
|
|
|
22
22
|
export declare function createAuthorizeErrorµ(res: {
|
|
23
23
|
error: string;
|
|
24
24
|
error_description: string;
|
|
25
|
-
}, wellknown:
|
|
25
|
+
}, wellknown: WellknownResponse, options: GetAuthorizationUrlOptions): Micro.Micro<never, AuthorizationError, never>;
|
|
26
26
|
/**
|
|
27
27
|
* @function createAuthorizeUrlµ
|
|
28
28
|
* @description Creates an authorization URL and related options/config for the Authorize request.
|
|
@@ -31,5 +31,5 @@ export declare function createAuthorizeErrorµ(res: {
|
|
|
31
31
|
* @returns { Micro.Micro<[string, GetAuthorizationUrlOptions], AuthorizationError, never> }
|
|
32
32
|
*/
|
|
33
33
|
export declare function createAuthorizeUrlµ(path: string, options: GetAuthorizationUrlOptions): Micro.Micro<[string, GetAuthorizationUrlOptions], AuthorizationError, never>;
|
|
34
|
-
export declare function handleResponseµ(response: AuthorizationSuccess | AuthorizationError, wellknown:
|
|
34
|
+
export declare function handleResponseµ(response: AuthorizationSuccess | AuthorizationError, wellknown: WellknownResponse, options: GetAuthorizationUrlOptions): Micro.Micro<AuthorizationSuccess, AuthorizationError, never>;
|
|
35
35
|
//# sourceMappingURL=authorize.request.utils.d.ts.map
|
|
@@ -9,7 +9,7 @@ import { Micro } from 'effect';
|
|
|
9
9
|
/**
|
|
10
10
|
* @function buildAuthorizeOptionsµ
|
|
11
11
|
* @description Builds the authorization options for the OIDC client.
|
|
12
|
-
* @param {
|
|
12
|
+
* @param {WellknownResponse} wellknown - The well-known configuration for the OIDC server.
|
|
13
13
|
* @param {OptionalAuthorizeOptions} options - Optional parameters for the authorization request.
|
|
14
14
|
* @returns {Micro.Micro<BuildAuthorizationData, AuthorizationError, never>}
|
|
15
15
|
*/
|
|
@@ -31,7 +31,7 @@ export function buildAuthorizeOptionsµ(wellknown, config, options) {
|
|
|
31
31
|
* @function createAuthorizeErrorµ
|
|
32
32
|
* @description Creates an error response with new Authorize URL for the authorization request.
|
|
33
33
|
* @param { error: string; error_description: string } res - The error response from the authorization request.
|
|
34
|
-
* @param {
|
|
34
|
+
* @param {WellknownResponse} wellknown- The well-known configuration for the OIDC server.
|
|
35
35
|
* @param { OidcConfig } config- The OIDC client configuration.
|
|
36
36
|
* @param { GetAuthorizationUrlOptions } options- Optional parameters for the authorization request.
|
|
37
37
|
* @returns { Micro.Micro<never, AuthorizationError, never> }
|
|
@@ -55,9 +55,9 @@ export declare function oidc<ActionType extends ActionTypes = ActionTypes>({ con
|
|
|
55
55
|
*/
|
|
56
56
|
url: (options?: GetAuthorizationUrlOptions) => Promise<string | GenericError>;
|
|
57
57
|
/**
|
|
58
|
-
* @function background - Initiates the authorization process in the background, returning
|
|
58
|
+
* @function background - Initiates the authorization process in the background, returning code and state or an error.
|
|
59
59
|
* @param {GetAuthorizationUrlOptions} options - Optional parameters to customize the authorization URL.
|
|
60
|
-
* @returns {Promise<AuthorizeErrorResponse | AuthorizeSuccessResponse>} - Returns a promise that resolves to
|
|
60
|
+
* @returns {Promise<AuthorizeErrorResponse | AuthorizeSuccessResponse>} - Returns a promise that resolves to code and state or an error response.
|
|
61
61
|
*/
|
|
62
62
|
background: (options?: GetAuthorizationUrlOptions) => Promise<AuthorizationSuccess | AuthorizationError>;
|
|
63
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.store.d.ts","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE;;;;;;;;;;;;GAYG;AACH,wBAAsB,IAAI,CAAC,UAAU,SAAS,WAAW,GAAG,WAAW,EAAE,EACvE,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;IACpD,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;;;IAkCG;;OAEG;;IAkEH;;OAEG;;
|
|
1
|
+
{"version":3,"file":"client.store.d.ts","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,KAAK,EACV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAItE;;;;;;;;;;;;GAYG;AACH,wBAAsB,IAAI,CAAC,UAAU,SAAS,WAAW,GAAG,WAAW,EAAE,EACvE,MAAM,EACN,iBAAiB,EACjB,MAAM,EACN,OAAO,GACR,EAAE;IACD,MAAM,EAAE,UAAU,CAAC;IACnB,iBAAiB,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;IACpD,MAAM,CAAC,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC;QAChB,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;IACF,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CAClC;;;IAkCG;;OAEG;;IAkEH;;OAEG;;IA2PH;;OAEG;;;IAnUH;;OAEG;;QAED;;;;;WAKG;wBACmB,0BAA0B,KAAG,OAAO,CAAC,MAAM,GAAG,YAAY,CAAC;QAsBjF;;;;WAIG;+BAES,0BAA0B,KACnC,OAAO,CAAC,oBAAoB,GAAG,kBAAkB,CAAC;;IA6BvD;;OAEG;;QAED;;;;;;;;WAQG;yBAEK,MAAM,SACL,MAAM,YACH,OAAO,CAAC,aAAa,CAAC,KAC/B,OAAO,CAAC,WAAW,GAAG,0BAA0B,GAAG,YAAY,CAAC;QAwCnE;;;;;WAKG;wBAES,gBAAgB,KACzB,OAAO,CAAC,WAAW,GAAG,0BAA0B,GAAG,kBAAkB,GAAG,YAAY,CAAC;QA0FxF;;;;;WAKG;sBACe,OAAO,CAAC,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;;IA4FnF;;OAEG;;QAED;;;;;WAKG;oBACa,OAAO,CAAC,YAAY,GAAG,gBAAgB,CAAC;QAgExD;;;;;WAKG;sBACe,OAAO,CAAC,YAAY,GAAG,mBAAmB,GAAG,iBAAiB,CAAC;;;;GAkDtF"}
|
|
@@ -86,9 +86,9 @@ export async function oidc({ config, requestMiddleware, logger, storage, }) {
|
|
|
86
86
|
return createAuthorizeUrl(wellknown.authorization_endpoint, optionsWithDefaults);
|
|
87
87
|
},
|
|
88
88
|
/**
|
|
89
|
-
* @function background - Initiates the authorization process in the background, returning
|
|
89
|
+
* @function background - Initiates the authorization process in the background, returning code and state or an error.
|
|
90
90
|
* @param {GetAuthorizationUrlOptions} options - Optional parameters to customize the authorization URL.
|
|
91
|
-
* @returns {Promise<AuthorizeErrorResponse | AuthorizeSuccessResponse>} - Returns a promise that resolves to
|
|
91
|
+
* @returns {Promise<AuthorizeErrorResponse | AuthorizeSuccessResponse>} - Returns a promise that resolves to code and state or an error response.
|
|
92
92
|
*/
|
|
93
93
|
background: async (options) => {
|
|
94
94
|
const state = store.getState();
|
|
@@ -213,14 +213,16 @@ export async function oidc({ config, requestMiddleware, logger, storage, }) {
|
|
|
213
213
|
store,
|
|
214
214
|
options: storageOptions,
|
|
215
215
|
});
|
|
216
|
-
}), Micro.tap(async (
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
216
|
+
}), Micro.tap(async (newTokens) => {
|
|
217
|
+
if (tokens && 'accessToken' in tokens) {
|
|
218
|
+
await store.dispatch(oidcApi.endpoints.revoke.initiate({
|
|
219
|
+
accessToken: tokens.accessToken,
|
|
220
|
+
clientId: config.clientId,
|
|
221
|
+
endpoint: wellknown.revocation_endpoint,
|
|
222
|
+
}));
|
|
223
|
+
await storageClient.remove();
|
|
224
|
+
}
|
|
225
|
+
await storageClient.set(newTokens);
|
|
224
226
|
}));
|
|
225
227
|
const result = await Micro.runPromiseExit(attemptAuthorizeGetTokensµ);
|
|
226
228
|
if (exitIsSuccess(result)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.store.js","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"client.store.js","sourceRoot":"","sources":["../../../src/lib/client.store.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ export declare function createClientStore<ActionType extends ActionTypes>({ requ
|
|
|
43
43
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("./client.types.js").UserInfoResponse, "oidc", unknown>;
|
|
44
44
|
}, never, "oidc">;
|
|
45
45
|
wellknown: import("@reduxjs/toolkit/query").CombinedState<{
|
|
46
|
-
configuration: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("@forgerock/sdk-types").
|
|
46
|
+
configuration: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("@forgerock/sdk-types").WellknownResponse, "wellknown", unknown>;
|
|
47
47
|
}, never, "wellknown">;
|
|
48
48
|
}, import("@reduxjs/toolkit").UnknownAction, import("@reduxjs/toolkit").Tuple<[import("@reduxjs/toolkit").StoreEnhancer<{
|
|
49
49
|
dispatch: import("@reduxjs/toolkit").ThunkDispatch<{
|
|
@@ -75,7 +75,7 @@ export declare function createClientStore<ActionType extends ActionTypes>({ requ
|
|
|
75
75
|
}, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("./client.types.js").UserInfoResponse, "oidc", unknown>;
|
|
76
76
|
}, never, "oidc">;
|
|
77
77
|
wellknown: import("@reduxjs/toolkit/query").CombinedState<{
|
|
78
|
-
configuration: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("@forgerock/sdk-types").
|
|
78
|
+
configuration: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, import("@reduxjs/toolkit/query").FetchBaseQueryMeta>, never, import("@forgerock/sdk-types").WellknownResponse, "wellknown", unknown>;
|
|
79
79
|
}, never, "wellknown">;
|
|
80
80
|
}, {
|
|
81
81
|
/**
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import type { GenericError, GetAuthorizationUrlOptions } from '@forgerock/sdk-types';
|
|
2
2
|
import type { StorageConfig } from '@forgerock/storage';
|
|
3
3
|
import { createClientStore } from './client.store.utils.js';
|
|
4
|
+
import { oidc } from './client.store.js';
|
|
5
|
+
export type OidcClient = Awaited<ReturnType<typeof oidc>>;
|
|
4
6
|
export type ClientStore = ReturnType<typeof createClientStore>;
|
|
5
7
|
export type RootState = ReturnType<ClientStore['getState']>;
|
|
6
8
|
export type AppDispatch = ReturnType<ClientStore['dispatch']>;
|
|
@@ -1 +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;
|
|
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;AAC5D,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAEzC,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,CAAC,CAAC;AAE1D,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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AsyncLegacyConfigOptions,
|
|
1
|
+
import type { AsyncLegacyConfigOptions, ResponseType } from '@forgerock/sdk-types';
|
|
2
2
|
export interface OidcConfig extends AsyncLegacyConfigOptions {
|
|
3
3
|
clientId: string;
|
|
4
4
|
redirectUri: string;
|
|
@@ -9,9 +9,6 @@ export interface OidcConfig extends AsyncLegacyConfigOptions {
|
|
|
9
9
|
};
|
|
10
10
|
responseType?: ResponseType;
|
|
11
11
|
}
|
|
12
|
-
export interface InternalDaVinciConfig extends OidcConfig {
|
|
13
|
-
wellknownResponse: WellKnownResponse;
|
|
14
|
-
}
|
|
15
12
|
export interface OauthTokens {
|
|
16
13
|
accessToken: string;
|
|
17
14
|
idToken: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../src/lib/config.types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"config.types.d.ts","sourceRoot":"","sources":["../../../src/lib/config.types.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnF,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,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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { Micro } from 'effect';
|
|
2
2
|
import type { OauthTokens, OidcConfig } from './config.types.js';
|
|
3
|
-
import type {
|
|
3
|
+
import type { WellknownResponse } from '@forgerock/sdk-types';
|
|
4
4
|
import type { StorageClient } from '@forgerock/storage';
|
|
5
5
|
import type { ClientStore, LogoutErrorResult, LogoutSuccessResult } from './client.types.js';
|
|
6
6
|
export declare function logoutµ({ tokens, config, wellknown, store, storageClient, }: {
|
|
7
7
|
tokens: OauthTokens;
|
|
8
8
|
config: OidcConfig;
|
|
9
|
-
wellknown:
|
|
9
|
+
wellknown: WellknownResponse;
|
|
10
10
|
store: ClientStore;
|
|
11
11
|
storageClient: StorageClient<OauthTokens>;
|
|
12
12
|
}): Micro.Micro<LogoutSuccessResult, LogoutErrorResult, never>;
|
|
@@ -1,7 +1,236 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { WellknownResponse } from '@forgerock/sdk-types';
|
|
2
|
+
import type { FetchBaseQueryError, FetchBaseQueryMeta } from '@reduxjs/toolkit/query';
|
|
2
3
|
import type { RootState } from './client.types.js';
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* RTK Query API for well-known endpoint discovery.
|
|
6
|
+
*
|
|
7
|
+
* Uses the `initWellknownQuery` builder pattern from `@forgerock/sdk-oidc`.
|
|
8
|
+
* The builder constructs the request and validates the response;
|
|
9
|
+
* `fetchBaseQuery` handles the HTTP transport through RTK Query's pipeline.
|
|
10
|
+
*/
|
|
11
|
+
export declare const wellknownApi: import("@reduxjs/toolkit/query").Api<import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, FetchBaseQueryMeta>, {
|
|
12
|
+
configuration: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, FetchBaseQueryMeta>, never, WellknownResponse, "wellknown", unknown>;
|
|
5
13
|
}, "wellknown", never, typeof import("@reduxjs/toolkit/query").coreModuleName>;
|
|
6
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Creates a memoized selector for cached well-known data.
|
|
16
|
+
*
|
|
17
|
+
* @param wellknownUrl - The well-known endpoint URL used as the cache key
|
|
18
|
+
* @returns A memoized selector that extracts the WellknownResponse from state, or undefined if not yet fetched
|
|
19
|
+
*/
|
|
20
|
+
export declare function createWellknownSelector(wellknownUrl: string): ((state: import("@reduxjs/toolkit/query").RootState<{
|
|
21
|
+
configuration: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, FetchBaseQueryMeta>, never, WellknownResponse, "wellknown", unknown>;
|
|
22
|
+
}, never, "wellknown">) => WellknownResponse | undefined) & {
|
|
23
|
+
clearCache: () => void;
|
|
24
|
+
resultsCount: () => number;
|
|
25
|
+
resetResultsCount: () => void;
|
|
26
|
+
} & {
|
|
27
|
+
resultFunc: (resultFuncArgs_0: ({
|
|
28
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
29
|
+
originalArgs?: undefined | undefined;
|
|
30
|
+
data?: undefined | undefined;
|
|
31
|
+
error?: undefined | undefined;
|
|
32
|
+
requestId?: undefined | undefined;
|
|
33
|
+
endpointName?: string | undefined;
|
|
34
|
+
startedTimeStamp?: undefined | undefined;
|
|
35
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
36
|
+
} & {
|
|
37
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
38
|
+
isUninitialized: true;
|
|
39
|
+
isLoading: false;
|
|
40
|
+
isSuccess: false;
|
|
41
|
+
isError: false;
|
|
42
|
+
}) | ({
|
|
43
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
|
|
44
|
+
error: undefined;
|
|
45
|
+
originalArgs: string;
|
|
46
|
+
requestId: string;
|
|
47
|
+
endpointName: string;
|
|
48
|
+
startedTimeStamp: number;
|
|
49
|
+
data: WellknownResponse;
|
|
50
|
+
fulfilledTimeStamp: number;
|
|
51
|
+
} & {
|
|
52
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
|
|
53
|
+
isUninitialized: false;
|
|
54
|
+
isLoading: false;
|
|
55
|
+
isSuccess: true;
|
|
56
|
+
isError: false;
|
|
57
|
+
}) | ({
|
|
58
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.pending;
|
|
59
|
+
originalArgs: string;
|
|
60
|
+
requestId: string;
|
|
61
|
+
data?: WellknownResponse | undefined;
|
|
62
|
+
error?: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError | undefined;
|
|
63
|
+
endpointName: string;
|
|
64
|
+
startedTimeStamp: number;
|
|
65
|
+
fulfilledTimeStamp?: number | undefined;
|
|
66
|
+
} & {
|
|
67
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.pending;
|
|
68
|
+
isUninitialized: false;
|
|
69
|
+
isLoading: true;
|
|
70
|
+
isSuccess: false;
|
|
71
|
+
isError: false;
|
|
72
|
+
}) | ({
|
|
73
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
|
|
74
|
+
data?: WellknownResponse | undefined;
|
|
75
|
+
fulfilledTimeStamp?: number | undefined;
|
|
76
|
+
originalArgs: string;
|
|
77
|
+
requestId: string;
|
|
78
|
+
endpointName: string;
|
|
79
|
+
startedTimeStamp: number;
|
|
80
|
+
error: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError;
|
|
81
|
+
} & {
|
|
82
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
|
|
83
|
+
isUninitialized: false;
|
|
84
|
+
isLoading: false;
|
|
85
|
+
isSuccess: false;
|
|
86
|
+
isError: true;
|
|
87
|
+
})) => WellknownResponse | undefined;
|
|
88
|
+
memoizedResultFunc: ((resultFuncArgs_0: ({
|
|
89
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
90
|
+
originalArgs?: undefined | undefined;
|
|
91
|
+
data?: undefined | undefined;
|
|
92
|
+
error?: undefined | undefined;
|
|
93
|
+
requestId?: undefined | undefined;
|
|
94
|
+
endpointName?: string | undefined;
|
|
95
|
+
startedTimeStamp?: undefined | undefined;
|
|
96
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
97
|
+
} & {
|
|
98
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
99
|
+
isUninitialized: true;
|
|
100
|
+
isLoading: false;
|
|
101
|
+
isSuccess: false;
|
|
102
|
+
isError: false;
|
|
103
|
+
}) | ({
|
|
104
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
|
|
105
|
+
error: undefined;
|
|
106
|
+
originalArgs: string;
|
|
107
|
+
requestId: string;
|
|
108
|
+
endpointName: string;
|
|
109
|
+
startedTimeStamp: number;
|
|
110
|
+
data: WellknownResponse;
|
|
111
|
+
fulfilledTimeStamp: number;
|
|
112
|
+
} & {
|
|
113
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
|
|
114
|
+
isUninitialized: false;
|
|
115
|
+
isLoading: false;
|
|
116
|
+
isSuccess: true;
|
|
117
|
+
isError: false;
|
|
118
|
+
}) | ({
|
|
119
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.pending;
|
|
120
|
+
originalArgs: string;
|
|
121
|
+
requestId: string;
|
|
122
|
+
data?: WellknownResponse | undefined;
|
|
123
|
+
error?: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError | undefined;
|
|
124
|
+
endpointName: string;
|
|
125
|
+
startedTimeStamp: number;
|
|
126
|
+
fulfilledTimeStamp?: number | undefined;
|
|
127
|
+
} & {
|
|
128
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.pending;
|
|
129
|
+
isUninitialized: false;
|
|
130
|
+
isLoading: true;
|
|
131
|
+
isSuccess: false;
|
|
132
|
+
isError: false;
|
|
133
|
+
}) | ({
|
|
134
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
|
|
135
|
+
data?: WellknownResponse | undefined;
|
|
136
|
+
fulfilledTimeStamp?: number | undefined;
|
|
137
|
+
originalArgs: string;
|
|
138
|
+
requestId: string;
|
|
139
|
+
endpointName: string;
|
|
140
|
+
startedTimeStamp: number;
|
|
141
|
+
error: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError;
|
|
142
|
+
} & {
|
|
143
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
|
|
144
|
+
isUninitialized: false;
|
|
145
|
+
isLoading: false;
|
|
146
|
+
isSuccess: false;
|
|
147
|
+
isError: true;
|
|
148
|
+
})) => WellknownResponse | undefined) & {
|
|
149
|
+
clearCache: () => void;
|
|
150
|
+
resultsCount: () => number;
|
|
151
|
+
resetResultsCount: () => void;
|
|
152
|
+
};
|
|
153
|
+
lastResult: () => WellknownResponse | undefined;
|
|
154
|
+
dependencies: [(state: import("@reduxjs/toolkit/query").RootState<{
|
|
155
|
+
configuration: import("@reduxjs/toolkit/query").QueryDefinition<string, import("@reduxjs/toolkit/query").BaseQueryFn<string | import("@reduxjs/toolkit/query").FetchArgs, unknown, FetchBaseQueryError, {}, FetchBaseQueryMeta>, never, WellknownResponse, "wellknown", unknown>;
|
|
156
|
+
}, never, "wellknown">) => ({
|
|
157
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
158
|
+
originalArgs?: undefined | undefined;
|
|
159
|
+
data?: undefined | undefined;
|
|
160
|
+
error?: undefined | undefined;
|
|
161
|
+
requestId?: undefined | undefined;
|
|
162
|
+
endpointName?: string | undefined;
|
|
163
|
+
startedTimeStamp?: undefined | undefined;
|
|
164
|
+
fulfilledTimeStamp?: undefined | undefined;
|
|
165
|
+
} & {
|
|
166
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.uninitialized;
|
|
167
|
+
isUninitialized: true;
|
|
168
|
+
isLoading: false;
|
|
169
|
+
isSuccess: false;
|
|
170
|
+
isError: false;
|
|
171
|
+
}) | ({
|
|
172
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
|
|
173
|
+
error: undefined;
|
|
174
|
+
originalArgs: string;
|
|
175
|
+
requestId: string;
|
|
176
|
+
endpointName: string;
|
|
177
|
+
startedTimeStamp: number;
|
|
178
|
+
data: WellknownResponse;
|
|
179
|
+
fulfilledTimeStamp: number;
|
|
180
|
+
} & {
|
|
181
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.fulfilled;
|
|
182
|
+
isUninitialized: false;
|
|
183
|
+
isLoading: false;
|
|
184
|
+
isSuccess: true;
|
|
185
|
+
isError: false;
|
|
186
|
+
}) | ({
|
|
187
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.pending;
|
|
188
|
+
originalArgs: string;
|
|
189
|
+
requestId: string;
|
|
190
|
+
data?: WellknownResponse | undefined;
|
|
191
|
+
error?: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError | undefined;
|
|
192
|
+
endpointName: string;
|
|
193
|
+
startedTimeStamp: number;
|
|
194
|
+
fulfilledTimeStamp?: number | undefined;
|
|
195
|
+
} & {
|
|
196
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.pending;
|
|
197
|
+
isUninitialized: false;
|
|
198
|
+
isLoading: true;
|
|
199
|
+
isSuccess: false;
|
|
200
|
+
isError: false;
|
|
201
|
+
}) | ({
|
|
202
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
|
|
203
|
+
data?: WellknownResponse | undefined;
|
|
204
|
+
fulfilledTimeStamp?: number | undefined;
|
|
205
|
+
originalArgs: string;
|
|
206
|
+
requestId: string;
|
|
207
|
+
endpointName: string;
|
|
208
|
+
startedTimeStamp: number;
|
|
209
|
+
error: FetchBaseQueryError | import("@reduxjs/toolkit").SerializedError;
|
|
210
|
+
} & {
|
|
211
|
+
status: import("@reduxjs/toolkit/query").QueryStatus.rejected;
|
|
212
|
+
isUninitialized: false;
|
|
213
|
+
isLoading: false;
|
|
214
|
+
isSuccess: false;
|
|
215
|
+
isError: true;
|
|
216
|
+
})];
|
|
217
|
+
recomputations: () => number;
|
|
218
|
+
resetRecomputations: () => void;
|
|
219
|
+
dependencyRecomputations: () => number;
|
|
220
|
+
resetDependencyRecomputations: () => void;
|
|
221
|
+
} & {
|
|
222
|
+
argsMemoize: typeof import("@reduxjs/toolkit").weakMapMemoize;
|
|
223
|
+
memoize: typeof import("@reduxjs/toolkit").weakMapMemoize;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Convenience selector for oidc-client's RootState type.
|
|
227
|
+
*
|
|
228
|
+
* Unlike {@link createWellknownSelector}, this immediately evaluates the
|
|
229
|
+
* selector against the provided state rather than returning a reusable selector.
|
|
230
|
+
*
|
|
231
|
+
* @param wellknownUrl - The well-known endpoint URL used as the cache key
|
|
232
|
+
* @param state - The oidc-client Redux root state
|
|
233
|
+
* @returns The cached WellknownResponse or undefined if not yet fetched
|
|
234
|
+
*/
|
|
235
|
+
export declare function wellknownSelector(wellknownUrl: string, state: RootState): WellknownResponse | undefined;
|
|
7
236
|
//# sourceMappingURL=wellknown.api.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wellknown.api.d.ts","sourceRoot":"","sources":["../../../src/lib/wellknown.api.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wellknown.api.d.ts","sourceRoot":"","sources":["../../../src/lib/wellknown.api.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EACV,mBAAmB,EACnB,kBAAkB,EAEnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEnD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;;8EAkBvB,CAAC;AAEH;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAK3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,iCAMvE"}
|
|
@@ -6,15 +6,48 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { createSelector } from '@reduxjs/toolkit';
|
|
8
8
|
import { createApi, fetchBaseQuery } from '@reduxjs/toolkit/query';
|
|
9
|
+
import { initWellknownQuery } from '@forgerock/sdk-oidc';
|
|
10
|
+
/**
|
|
11
|
+
* RTK Query API for well-known endpoint discovery.
|
|
12
|
+
*
|
|
13
|
+
* Uses the `initWellknownQuery` builder pattern from `@forgerock/sdk-oidc`.
|
|
14
|
+
* The builder constructs the request and validates the response;
|
|
15
|
+
* `fetchBaseQuery` handles the HTTP transport through RTK Query's pipeline.
|
|
16
|
+
*/
|
|
9
17
|
export const wellknownApi = createApi({
|
|
10
18
|
reducerPath: 'wellknown',
|
|
11
19
|
baseQuery: fetchBaseQuery(),
|
|
12
20
|
endpoints: (builder) => ({
|
|
13
21
|
configuration: builder.query({
|
|
14
|
-
|
|
22
|
+
queryFn: async (url, _api, _extra, baseQuery) => {
|
|
23
|
+
const result = await initWellknownQuery(url).applyQuery(async (req) => {
|
|
24
|
+
const queryResult = await baseQuery(req);
|
|
25
|
+
return queryResult;
|
|
26
|
+
});
|
|
27
|
+
return result;
|
|
28
|
+
},
|
|
15
29
|
}),
|
|
16
30
|
}),
|
|
17
31
|
});
|
|
32
|
+
/**
|
|
33
|
+
* Creates a memoized selector for cached well-known data.
|
|
34
|
+
*
|
|
35
|
+
* @param wellknownUrl - The well-known endpoint URL used as the cache key
|
|
36
|
+
* @returns A memoized selector that extracts the WellknownResponse from state, or undefined if not yet fetched
|
|
37
|
+
*/
|
|
38
|
+
export function createWellknownSelector(wellknownUrl) {
|
|
39
|
+
return createSelector(wellknownApi.endpoints.configuration.select(wellknownUrl), (result) => result?.data);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Convenience selector for oidc-client's RootState type.
|
|
43
|
+
*
|
|
44
|
+
* Unlike {@link createWellknownSelector}, this immediately evaluates the
|
|
45
|
+
* selector against the provided state rather than returning a reusable selector.
|
|
46
|
+
*
|
|
47
|
+
* @param wellknownUrl - The well-known endpoint URL used as the cache key
|
|
48
|
+
* @param state - The oidc-client Redux root state
|
|
49
|
+
* @returns The cached WellknownResponse or undefined if not yet fetched
|
|
50
|
+
*/
|
|
18
51
|
export function wellknownSelector(wellknownUrl, state) {
|
|
19
52
|
const selector = createSelector(wellknownApi.endpoints.configuration.select(wellknownUrl), (result) => result?.data);
|
|
20
53
|
return selector(state);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wellknown.api.js","sourceRoot":"","sources":["../../../src/lib/wellknown.api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"wellknown.api.js","sourceRoot":"","sources":["../../../src/lib/wellknown.api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAUzD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;IACpC,WAAW,EAAE,WAAW;IACxB,SAAS,EAAE,cAAc,EAAE;IAC3B,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvB,aAAa,EAAE,OAAO,CAAC,KAAK,CAA4B;YACtD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE;gBAC9C,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;oBACpE,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;oBACzC,OAAO,WAAiF,CAAC;gBAC3F,CAAC,CAAC,CAAC;gBACH,OAAO,MAIN,CAAC;YACJ,CAAC;SACF,CAAC;KACH,CAAC;CACH,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,YAAoB;IAC1D,OAAO,cAAc,CACnB,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EACzD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CACzB,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAAC,YAAoB,EAAE,KAAgB;IACtE,MAAM,QAAQ,GAAG,cAAc,CAC7B,YAAY,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EACzD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CACzB,CAAC;IACF,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export * from './lib/client.types.js';
|
|
|
2
2
|
export * from './lib/config.types.js';
|
|
3
3
|
export * from './lib/authorize.request.types.js';
|
|
4
4
|
export * from './lib/exchange.types.js';
|
|
5
|
-
export type { GenericError, GetAuthorizationUrlOptions,
|
|
5
|
+
export type { GenericError, GetAuthorizationUrlOptions, WellknownResponse, } from '@forgerock/sdk-types';
|
|
6
6
|
export type { ActionTypes, RequestMiddleware } from '@forgerock/sdk-request-middleware';
|
|
7
7
|
export type { CustomLogger, LogLevel } from '@forgerock/sdk-logger';
|
|
8
8
|
export type { StorageConfig } from '@forgerock/storage';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgerock/oidc-client",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/ForgeRock/ping-javascript-sdk.git",
|
|
@@ -21,16 +21,16 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@reduxjs/toolkit": "^2.8.2",
|
|
24
|
-
"effect": "^3.
|
|
25
|
-
"@forgerock/
|
|
26
|
-
"@forgerock/
|
|
27
|
-
"@forgerock/sdk-request-middleware": "
|
|
28
|
-
"@forgerock/sdk-
|
|
29
|
-
"@forgerock/
|
|
30
|
-
"@forgerock/
|
|
24
|
+
"effect": "^3.19.0",
|
|
25
|
+
"@forgerock/sdk-oidc": "2.0.0",
|
|
26
|
+
"@forgerock/iframe-manager": "2.0.0",
|
|
27
|
+
"@forgerock/sdk-request-middleware": "2.0.0",
|
|
28
|
+
"@forgerock/sdk-types": "2.0.0",
|
|
29
|
+
"@forgerock/storage": "2.0.0",
|
|
30
|
+
"@forgerock/sdk-logger": "2.0.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
|
-
"@effect/vitest": "^0.
|
|
33
|
+
"@effect/vitest": "^0.27.0",
|
|
34
34
|
"msw": "^2.5.1"
|
|
35
35
|
},
|
|
36
36
|
"nx": {
|