@ofidj/node 3.6.23 → 3.6.25

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/CHANGELOG.md CHANGED
@@ -1,11 +1,19 @@
1
1
  # Changelog
2
2
 
3
- All notable changes to this project will be documented in this file.
3
+ - Forward explicit agreement choice/version in password login without automatically granting consent.
4
4
 
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
+ Dated entries are historical; current workflow is in the package README.
7
6
 
8
- ## [Unreleased]
7
+ ## [3.6.25] - 2026-09-11
8
+
9
+ - Say plainly that no OpenID Connect provider answered, and that OIDC support is experimental client-side, instead of surfacing a bare fetch failure.
10
+ - Add validated OIDC/PKCE client, same-tab facade handoff and live tenant verification; remove the obsolete URL-join dependency and update Axios.
11
+ - Read effective roles live, including app groups; fail closed when the session is invalid.
12
+ - Add shared-account password recovery and email verification integration.
13
+
14
+ - Add verifyAppSession for server-side audience/session verification and live membership roles; used by the generated TypeScript starter.
15
+ - Align the Mocha test runner with the API for current Node runtimes.
16
+ - Preserve DELETE request bodies through the SDK and Axios adapter, including explicit app-departure confirmation.
9
17
 
10
18
  ## [15.1.14] - 2025-12-03
11
19
 
package/QUICKSTART.md CHANGED
@@ -1,224 +1,75 @@
1
- # Quickstart `@ofidj/node`
1
+ # SDK quickstart
2
2
 
3
- From `npm install` to your first login in under 15 minutes.
3
+ Install `@ofidj/node` in your app. For coordinated unpublished changes, use the built workspace SDK; see the [local walkthrough](../LOCAL-DEVELOPMENT.md).
4
4
 
5
- ## 1. Install
6
-
7
- ```bash
8
- mkdir my-fidj-app && cd my-fidj-app
9
- npm init -y
5
+ ```sh
10
6
  npm install @ofidj/node
11
7
  ```
12
8
 
13
- **TypeScript (recommended):**
14
-
15
- ```bash
16
- npm install -D typescript ts-node @types/node
17
- npx tsc --init
18
- ```
19
-
20
- ## 2. Init + Login
21
-
22
- ### Node.js (TypeScript)
23
-
24
- Create `quickstart.ts`:
25
-
26
- ```typescript
27
- import {FidjNodeService} from '@ofidj/node';
28
-
29
- async function main() {
30
- const fidj = new FidjNodeService();
31
-
32
- // Init on sandbox (zero-config)
33
- await fidj.init('fidj-sandbox-0123fe7ed0000001', {prod: false});
34
- console.log('Connected to sandbox');
35
-
36
- // Login (auto-creates user on sandbox)
37
- const user = await fidj.login('quickstart@fidj.ovh', 'test');
38
- console.log('Logged in as:', user.username);
39
- console.log('Roles:', user.roles);
40
-
41
- // Get your ID token (JWT)
42
- const idToken = await fidj.fidjGetIdToken();
43
- console.log('ID token:', idToken.substring(0, 40) + '...');
44
-
45
- // Check roles
46
- const roles = await fidj.fidjRoles();
47
- console.log('Roles:', roles);
48
-
49
- // Logout
50
- await fidj.logout(true);
51
- console.log('Logged out');
52
- }
53
-
54
- main().catch(console.error);
55
- ```
56
-
57
- Run it:
58
-
59
- ```bash
60
- npx ts-node quickstart.ts
61
- ```
62
-
63
- ### Node.js (JavaScript)
9
+ ## Local login
64
10
 
65
- Create `quickstart.js`:
11
+ Start the workspace stack first. Run this JavaScript in your application (CommonJS), using the seeded local account:
66
12
 
67
13
  ```javascript
68
14
  const {FidjNodeService} = require('@ofidj/node');
15
+ const {createInterface} = require('node:readline/promises');
69
16
 
70
17
  async function main() {
71
18
  const fidj = new FidjNodeService();
72
-
73
- await fidj.init('fidj-sandbox-0123fe7ed0000001', {prod: false});
74
- console.log('Connected to sandbox');
75
-
76
- const user = await fidj.login('quickstart@fidj.ovh', 'test');
77
- console.log('Logged in as:', user.username, '- Roles:', user.roles);
78
-
79
- const idToken = await fidj.fidjGetIdToken();
80
- console.log('ID token:', idToken.substring(0, 40) + '...');
81
-
19
+ await fidj.init('fidj-local-studio', {
20
+ prod: false,
21
+ apiEndpoint: 'http://localhost:3201/v3',
22
+ });
23
+ const response = await fetch('http://localhost:3201/v3/apps/fidj-local-studio');
24
+ const {app} = await response.json();
25
+ console.log(app.agreement.text);
26
+ const prompt = createInterface({input: process.stdin, output: process.stdout});
27
+ const answer = await prompt.question(`Accept version ${app.agreement.version}? Type yes: `);
28
+ prompt.close();
29
+ if (answer !== 'yes') return;
30
+ await fidj.login('maya@fidj.local', 'local-member-only', {
31
+ termsAccepted: true,
32
+ termsVersion: app.agreement.version,
33
+ });
34
+ console.log('Roles:', await fidj.fidjRoles());
82
35
  await fidj.logout(true);
83
- console.log('Done!');
84
36
  }
85
-
86
37
  main().catch(console.error);
87
38
  ```
88
39
 
89
- Run it:
40
+ TypeScript/browser bundles import `FidjNodeService` from `@ofidj/node`. Browser apps need an allowed origin and their own public app ID. Never include an app private key in browser code.
90
41
 
91
- ```bash
92
- node quickstart.js
93
- ```
94
-
95
- ### One-liner (init + login combined)
96
-
97
- ```typescript
98
- const fidj = new FidjNodeService();
99
- const user = await fidj.initAndLogin('quickstart@fidj.ovh', 'test');
100
- // That's it - you're authenticated
101
- ```
102
-
103
- ### Web (browser / bundler)
42
+ ## Environments
104
43
 
105
- ```html
106
- <script type="module">
107
- import {FidjNodeService} from '@ofidj/node';
44
+ | Target | Initialization |
45
+ | --- | --- |
46
+ | Local | Explicit local app ID and `apiEndpoint` as above |
47
+ | Hosted sandbox | `init()` or an explicit sandbox ID with `{prod: false}` |
48
+ | Production | `init('YOUR_APP_ID', {prod: true})` |
49
+ | Offline UI demo | `initDemo()`; mock sessions provide no server authorization |
108
50
 
109
- const fidj = new FidjNodeService();
110
- await fidj.init('fidj-sandbox-0123fe7ed0000001', {prod: false});
111
- const user = await fidj.login('web-user@fidj.ovh', 'test');
112
- document.getElementById('status').textContent = `Hello ${user.username}`;
113
- </script>
114
- ```
51
+ Obtain production IDs from the Fidj owner console. Hosted examples require a configured app/account; do not assume arbitrary credentials work. SDK auto-signup and the generated UI's strict sign-in are separate choices. New passwords require at least 12 characters and at most 72 UTF-8 bytes.
115
52
 
116
- ## 3. Go further
117
-
118
- ### Call an API endpoint
53
+ ## Common operations
119
54
 
120
55
  ```typescript
121
- // POST to create something
56
+ const roles = await fidj.fidjRoles(); // Current API roles; handle failures.
57
+ await fidj.sync({forceRefresh: true});
58
+ const token = await fidj.fidjGetIdToken();
122
59
  const response = await fidj.sendOnEndpoint({
123
- verb: 'POST',
124
- key: 'apps',
125
- data: {title: 'MyApp'},
126
- });
127
- console.log('Created:', response.data);
128
-
129
- // GET details
130
- const details = await fidj.sendOnEndpoint({
131
60
  verb: 'GET',
132
61
  key: 'apps',
133
62
  relativePath: `${appId}/details`,
134
63
  });
135
64
  ```
136
65
 
137
- ### Refresh tokens
138
-
139
- ```typescript
140
- // Force token refresh
141
- await fidj.sync({forceRefresh: true});
142
- const freshToken = await fidj.fidjGetIdToken();
143
- ```
144
-
145
- ### Demo mode (no server needed)
146
-
147
- ```typescript
148
- const fidj = new FidjNodeService();
149
- const user = await fidj.initDemo();
150
- // Uses mock JWT tokens, valid 24h - great for UI prototyping
151
- ```
152
-
153
- ### Production
154
-
155
- ```typescript
156
- const fidj = new FidjNodeService();
157
- // prod: true is the default
158
- await fidj.init('your-app-id');
159
- const user = await fidj.login('real@user.com', 'password');
160
- ```
66
+ Owner details require owner authorization. Client role checks only control UI; use `verifyAppSession` for protected backend operations. Recovery, verification and experimental identity helpers are described in the [SDK README](README.md).
161
67
 
162
68
  ## Troubleshooting
163
69
 
164
- ### Error 400: `Need a fidjId`
165
-
166
- You called `init()` without a fidjId and with options. Either use zero-config (no args) or pass a valid fidjId.
167
-
168
- ```typescript
169
- // Wrong
170
- await fidj.init(undefined, {prod: false});
171
-
172
- // Right - zero-config sandbox
173
- await fidj.init();
174
-
175
- // Right - explicit sandbox
176
- await fidj.init('fidj-sandbox-0123fe7ed0000001', {prod: false});
177
- ```
178
-
179
- ### Error 404: `Need one connection - or too old SDK version`
180
-
181
- The SDK can't reach any API endpoint. Check:
182
- - Network connectivity (`curl https://api.sandbox.fidj.ovh/v3`)
183
- - Correct `prod` flag (`prod: false` for sandbox)
184
- - SDK version (`npm ls @ofidj/node` - update if outdated)
185
-
186
- ### Error 404: `Need an initialized FidjService`
187
-
188
- You called `login()` before `init()`. Always init first:
189
-
190
- ```typescript
191
- // Wrong
192
- await fidj.login('user@fidj.ovh', 'test');
193
-
194
- // Right
195
- await fidj.init('fidj-sandbox-0123fe7ed0000001', {prod: false});
196
- await fidj.login('user@fidj.ovh', 'test');
197
- ```
198
-
199
- ### Error 500: `Login failed` / timeout
200
-
201
- Authentication server unreachable or credentials invalid. Steps:
202
- 1. Check sandbox status: `curl https://api.sandbox.fidj.ovh/v3`
203
- 2. On sandbox, any email/password combo auto-creates a user
204
- 3. Check `DEFAULT_TIMEOUT_MS` (60s) - increase for slow networks
205
-
206
- ### `TypeError: Cannot read properties of undefined`
207
-
208
- Usually means you're using the result of a failed call. Wrap in try/catch:
209
-
210
- ```typescript
211
- try {
212
- const user = await fidj.login('user@fidj.ovh', 'test');
213
- console.log(user.username);
214
- } catch (err) {
215
- console.error('Login failed:', err.code, err.reason);
216
- }
217
- ```
218
-
219
- ## Environments
70
+ - Initialize before login; pass a valid app ID when supplying options.
71
+ - Check API `/v3/status`, endpoint, app ID, allowed origin and SDK/API compatibility.
72
+ - Handle login errors explicitly; do not read user fields after a failed call.
73
+ - Local accounts and app IDs created manually disappear when the API restarts.
220
74
 
221
- | Environment | fidjId | Options | API URL |
222
- |-------------|--------|---------|---------|
223
- | Sandbox | `fidj-sandbox-0123fe7ed0000001` | `{prod: false}` | https://api.sandbox.fidj.ovh/v3 |
224
- | Production | Your app ID | `{prod: true}` (default) | https://api.fidj.ovh/v3 |
75
+ For SDK changes, follow the [TDD workflow](../AGENTS.md#tdd-red--green--refactor).
package/README.md CHANGED
@@ -1,72 +1,66 @@
1
1
  # @ofidj/node
2
2
 
3
- > FIDJ node tools - A TypeScript library providing utilities for client authentication, session management, and more.
4
- >
5
- > _Renamed from `fidj-node` at 1.0.0. The old `fidj-node` package is deprecated; install `@ofidj/node`._
3
+ JS/TypeScript SDK for Fidj authentication, sessions, app roles and privacy. Install `@ofidj/node`; the old `fidj-node` package name is deprecated.
6
4
 
7
- ## 📋 Description
5
+ Start with [QUICKSTART.md](QUICKSTART.md). Modules live under `src/connection`, `src/sdk`, `src/session` and `src/tools`; shared API types come from `@ofidj/contracts`.
8
6
 
9
- Node.js library that provides a set of tools for FIDJ client authentication, connection management, session
10
- handling, and various utility functions. It's designed to simplify interactions with remote services or APIs.
7
+ ## Development
11
8
 
12
- ## 🚀 Quick Start (5 minutes)
9
+ Read the [workspace rules](../AGENTS.md). Follow red → green → refactor: run a new failing behavior test before implementation, make it pass, then run relevant regression checks.
13
10
 
14
- ```bash
15
- npm install @ofidj/node
11
+ ```sh
12
+ npm run build
13
+ npm test
14
+ npm run test-coverage
16
15
  ```
17
16
 
18
- ```typescript
19
- import {FidjNodeService} from '@ofidj/node';
17
+ See [CHANGELOG.md](CHANGELOG.md) for history. License: MIT. Development features require coordinated API/contracts versions; local success does not imply package publication.
20
18
 
21
- const fidj = new FidjNodeService();
19
+ ## Server-side app sessions
22
20
 
23
- // Zero-config: connects to sandbox automatically
24
- await fidj.init();
21
+ The 3.6.24 development version exports `verifyAppSession` for a Node backend:
25
22
 
26
- // Or with your app ID for production
27
- // await fidj.init('your-fidj-app-id', {prod: true});
28
-
29
- await fidj.login('user@example.com', 'password');
30
- const token = await fidj.fidjGetIdToken();
23
+ ```typescript
24
+ import {verifyAppSession} from '@ofidj/node';
25
+
26
+ const session = await verifyAppSession(bearerToken, {
27
+ appId: process.env.FIDJ_APP_ID!,
28
+ apiEndpoint: process.env.FIDJ_API_ENDPOINT!,
29
+ });
30
+ if (!session.roles.includes('Editor') && !session.roles.includes('Owner')) {
31
+ // Respond with 403 before executing the protected operation.
32
+ }
31
33
  ```
32
34
 
33
- **Where to find your fidjId?** Log in to [fidj.ovh](https://fidj.ovh), go to your app settings, and copy the App ID.
35
+ Call it on every protected operation. It rejects tokens for another app, delegates signature and stored-session validation to the configured Fidj API, and returns current membership roles rather than cached JWT role claims. It fails closed on timeouts or invalid upstream responses. Keep the endpoint configuration server-controlled and use HTTPS outside loopback development. No app signing key is required in the consumer backend.
34
36
 
35
- See the full [Quickstart Guide](./QUICKSTART.md) for more examples (demo mode, browser usage, API calls, troubleshooting).
37
+ The generated TypeScript starter and the mleweb example exercise this flow. This helper requires a runtime with `fetch` and `AbortSignal.timeout`; the examples and CI target Node 22/24.
36
38
 
37
- ## 🧩 Modules
39
+ ## Account recovery and verification
38
40
 
39
- The library consists of several modules:
41
+ After `init`, call `fidjForgotPasswordRequest(email)` for a neutral reset request, `resetPassword({token, password})` to consume a link, or `verifyEmail({token})` for explicit confirmation. These three methods work without an authenticated session. `resendVerification()` requires a signed-in session; `getMe()` returns `data.user.verified`. A reset changes the shared identity password and revokes existing sessions across apps.
40
42
 
41
- - **connection**: Provides classes and interfaces for client authentication and connection management
42
- - **sdk**: Software development kit for interacting with services
43
- - **session**: Handles user sessions
44
- - **tools**: Utility functions for Base64 encoding/decoding, storage operations, and XOR operations
43
+ Requires the coordinated 3.6.24 API and contracts changes. Passwords must contain at least 12 characters and no more than 72 UTF-8 bytes. Email links point to the API’s configured account UI.
45
44
 
46
- ## 📚 Documentation
47
45
 
48
- Please read the [specifications](./specs) for detailed information about each module:
46
+ `fidjRoles()` also reads effective roles from the API for signed-in sessions, including app-group grants and removals. It can now reject when the session or API is unavailable; handle that error instead of relying on cached access. Demo mode keeps its local behavior. `verifyAppSession` remains the check to use on protected backend operations; client UI checks alone do not authorize a request.
49
47
 
50
- - [connection](./specs/connection): Client authentication and connection management
51
- - [sdk](./specs/sdk): SDK for service interaction
52
- - [session](./specs/session): Session handling
53
- - [tools](./specs/tools): Utility functions
54
- - [scenarios](./specs/01.scenario): Usage scenarios and examples
48
+ Authenticated `PUT /me` password changes require `{currentPassword, password}`. They apply the same password limits as reset, revoke existing sessions, and invalidate outstanding reset links. Sign in again after success. Name-only updates do not change credentials.
55
49
 
56
- ## 🧪 Testing
57
-
58
- ```bash
59
- # Run tests
60
- npm test
61
-
62
- # Run tests with coverage
63
- npm run test-coverage
64
- ```
50
+ ## Beta identity helpers
65
51
 
66
- ## 📝 History
52
+ The source exports `FidjOidcClient` and tenant-verification helpers. The API ships an integrated `/oidc` provider from 3.6.26, in beta: it serves no `/oidc` routes at all unless the operator sets `FIDJ_OIDC_ISSUER` and its signing keys, so an issuer URL is something a deployment has to configure rather than something to assume. Organization routes are beta on the same release.
67
53
 
68
- See [Changelog](./CHANGELOG.md).
54
+ OIDC client support includes state/nonce/signature validation and same-tab session handoff. These client capabilities do not by themselves establish conformance or hosted readiness: verify the issuer answers discovery, and validate the integration against the deployment you are targeting, before offering it to app builders.
69
55
 
70
- ## 📄 License
56
+ ## Explicit app agreement on login
71
57
 
72
- MIT
58
+ Fetch `GET /apps/:appId` and show `app.agreement.text` beside an unchecked required
59
+ checkbox. Pass the person's choice and the displayed version to
60
+ `login(email, password, {termsAccepted: checkbox.checked, termsVersion: agreement.version})`.
61
+ Never set acceptance automatically. Missing/false acceptance or an outdated
62
+ version returns HTTP 409 before the app token is issued. Password login requires
63
+ this choice every time; an accepted unchanged version creates no duplicate audit
64
+ entry. Renewals use the already recorded current agreement. A new version requires
65
+ sign-in again. Optional consent remains independent. Coordinated API/SDK versions
66
+ are required; legacy login callers must supply the new options.
package/bpInfo.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bpInfo = void 0;
4
- exports.bpInfo = { version: 'v3.6.23' };
4
+ exports.bpInfo = { version: 'v3.6.25' };
5
5
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnBJbmZvLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2JwSW5mby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLE1BQU0sR0FBRyxFQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUMsQ0FBQyJ9
@@ -181,7 +181,7 @@ class Ajax {
181
181
  if (args.headers) {
182
182
  opt.headers = args.headers;
183
183
  }
184
- const options = { headers: opt.headers };
184
+ const options = { headers: opt.headers, data: opt.data };
185
185
  if (args.timeout) {
186
186
  options['timeout'] = args.timeout;
187
187
  }
@@ -227,4 +227,4 @@ class Ajax {
227
227
  }
228
228
  }
229
229
  exports.Ajax = Ajax;
230
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWpheC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0aW9uL0FqYXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBYzFCLElBQVksY0FTWDtBQVRELFdBQVksY0FBYztJQUN0QixxQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBaUIsQ0FBQTtJQUNqQiwrQ0FBNkIsQ0FBQTtJQUM3Qix5Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBdUIsQ0FBQTtJQUN2QiwyQ0FBeUIsQ0FBQTtJQUN6QiwrQ0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBVFcsY0FBYyw4QkFBZCxjQUFjLFFBU3pCO0FBVUQsTUFBYSxJQUFJO0lBQ2IsZ0JBQWUsQ0FBQztJQUVSLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFhO1FBQzNDLElBQ0ksQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTTtZQUNoQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsRUFDL0UsQ0FBQztZQUNDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDeEQsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztR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
230
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQWpheC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25uZWN0aW9uL0FqYXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQTBCO0FBYzFCLElBQVksY0FTWDtBQVRELFdBQVksY0FBYztJQUN0QixxQ0FBbUIsQ0FBQTtJQUNuQixxQ0FBbUIsQ0FBQTtJQUNuQixtQ0FBaUIsQ0FBQTtJQUNqQiwrQ0FBNkIsQ0FBQTtJQUM3Qix5Q0FBdUIsQ0FBQTtJQUN2Qix5Q0FBdUIsQ0FBQTtJQUN2QiwyQ0FBeUIsQ0FBQTtJQUN6QiwrQ0FBNkIsQ0FBQTtBQUNqQyxDQUFDLEVBVFcsY0FBYyw4QkFBZCxjQUFjLFFBU3pCO0FBVUQsTUFBYSxJQUFJO0lBQ2IsZ0JBQWUsQ0FBQztJQUVSLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxRQUFhO1FBQzNDLElBQ0ksQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTTtZQUNoQixDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsRUFDL0UsQ0FBQztZQUNDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsQ0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDeEQsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUM5QyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztR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
@@ -23,6 +23,8 @@ export declare class Client {
23
23
  status(): Promise<boolean>;
24
24
  login(login: string, password: string, updateProperties?: any, options?: {
25
25
  autoSignup?: boolean;
26
+ termsAccepted?: boolean;
27
+ termsVersion?: string;
26
28
  }): Promise<ClientTokens>;
27
29
  /**
28
30
  *
@@ -113,6 +113,7 @@ class Client {
113
113
  }
114
114
  login(login, password, updateProperties, options) {
115
115
  return __awaiter(this, void 0, void 0, function* () {
116
+ var _a;
116
117
  if (!this.URI) {
117
118
  console.error('no api uri');
118
119
  throw new sdk_1.FidjError(408, 'no-api-uri');
@@ -138,6 +139,8 @@ class Client {
138
139
  const urlToken = this.URI + '/apps/' + this.appId + '/tokens';
139
140
  const dataToken = {
140
141
  grant_type: 'access_token',
142
+ termsAccepted: options === null || options === void 0 ? void 0 : options.termsAccepted,
143
+ termsVersion: options === null || options === void 0 ? void 0 : options.termsVersion,
141
144
  // grant_type: 'client_credentials',
142
145
  // client_id: this.clientId,
143
146
  // client_secret: password,
@@ -186,6 +189,7 @@ class Client {
186
189
  // Rethrow with the HTTP status from Ajax/XhrErrorInterface so callers can react (401 vs 400 vs network).
187
190
  const code = typeof (e === null || e === void 0 ? void 0 : e.code) === 'number' ? e.code : 500;
188
191
  const reason = (typeof (e === null || e === void 0 ? void 0 : e.message) === 'string' && e.message) ||
192
+ (typeof ((_a = e === null || e === void 0 ? void 0 : e.message) === null || _a === void 0 ? void 0 : _a.message) === 'string' && e.message.message) ||
189
193
  (typeof (e === null || e === void 0 ? void 0 : e.reason) === 'string' && e.reason) ||
190
194
  'login-failed';
191
195
  throw new sdk_1.FidjError(code, reason);
@@ -275,4 +279,4 @@ exports.Client = Client;
275
279
  // private refreshToken: string;
276
280
  Client.refreshCountInitial = 1;
277
281
  Client.refreshCount = Client.refreshCountInitial;
278
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nvbm5lY3Rpb24vQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUE0QjtBQUM1QixnREFBa0M7QUFFbEMsZ0NBQWlHO0FBQ2pHLGlEQUE0QztBQUk1QyxNQUFhLE1BQU07SUFXZixZQUNZLEtBQWEsRUFDYixHQUFXLEVBQ1gsT0FBcUIsRUFDckIsR0FBaUIsRUFDakIsTUFBdUI7UUFKdkIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRWhELElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pGLElBQUksSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLHNDQUFzQztRQUNoRSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEQsSUFBSTtnQkFDQSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU87b0JBQ3hCLEdBQUc7b0JBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVO29CQUMzQixHQUFHO29CQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FB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
282
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nvbm5lY3Rpb24vQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGlDQUE0QjtBQUM1QixnREFBa0M7QUFFbEMsZ0NBQWlHO0FBQ2pHLGlEQUE0QztBQUk1QyxNQUFhLE1BQU07SUFXZixZQUNZLEtBQWEsRUFDYixHQUFXLEVBQ1gsT0FBcUIsRUFDckIsR0FBaUIsRUFDakIsTUFBdUI7UUFKdkIsVUFBSyxHQUFMLEtBQUssQ0FBUTtRQUNiLFFBQUcsR0FBSCxHQUFHLENBQVE7UUFDWCxZQUFPLEdBQVAsT0FBTyxDQUFjO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQWM7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBaUI7UUFFL0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxjQUFjLEdBQUcsS0FBSyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsa0JBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRWhELElBQUksSUFBSSxHQUFXLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2pGLElBQUksSUFBSSxHQUFHLGFBQWEsQ0FBQyxDQUFDLHNDQUFzQztRQUNoRSxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEQsSUFBSTtnQkFDQSxNQUFNLENBQUMsU0FBUyxDQUFDLE9BQU87b0JBQ3hCLEdBQUc7b0JBQ0gsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVO29CQUMzQixHQUFHO29CQUNILE1BQU0sQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDO1FBQ25DLENBQUM7UUFDRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFdBQVcsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzdFLElBQUksR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ2pDLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsTUFBTSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksTUFBTSxDQUFDLG1CQUFtQixDQUFDO0lBQzdGLENBQUM7SUFFTSxXQUFXLENBQUMsS0FBYTtRQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVNLGFBQWEsQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRU0sYUFBYSxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLEdBQUcsS0FBSyxDQUFDO1FBQzdCLG1EQUFtRDtJQUN2RCxDQUFDO0lBRVksTUFBTTs7O1lBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM1QixNQUFNLElBQUksZUFBUyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBQ0QsSUFBSSxDQUFDO2dCQUNELE1BQU0sSUFBSSxHQUFHLElBQUksV0FBSSxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQztvQkFDMUIsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsU0FBUztvQkFDekIsT0FBTyxFQUFFLEVBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBQztvQkFDekUsT0FBTyxFQUFFLHFCQUFlLENBQUMsa0JBQWtCO2lCQUM5QyxDQUFDLENBQUM7Z0JBQ0gsSUFBSSxNQUFBLE1BQUEsTUFBTSxDQUFDLElBQUksMENBQUUsSUFBSSwwQ0FBRSxNQUFNLEVBQUUsQ0FBQztvQkFDNUIsT0FBTyxJQUFJLENBQUM7Z0JBQ2hCLENBQUM7WUFDTCxDQUFDO1lBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztnQkFDVCxXQUFXO1lBQ2YsQ0FBQztZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7S0FBQTtJQUVZLEtBQUssQ0FDZCxLQUFhLEVBQ2IsUUFBZ0IsRUFDaEIsZ0JBQXNCLEVBQ3RCLE9BQWdGOzs7WUFFaEYsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM1QixNQUFNLElBQUksZUFBUyxDQUFDLEdBQUcsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUMzQyxDQUFDO1lBRUQsSUFBSSxDQUFDO2dCQUNELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDO2dCQUVyQyxNQUFNLFNBQVMsR0FBUTtvQkFDbkIsSUFBSSxFQUFFLEtBQUs7b0JBQ1gsUUFBUSxFQUFFLEtBQUs7b0JBQ2YsS0FBSyxFQUFFLEtBQUs7b0JBQ1osUUFBUSxFQUFFLFFBQVE7aUJBQ3JCLENBQUM7Z0JBQ0YsSUFBSSxDQUFBLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxVQUFVLE1BQUssS0FBSyxFQUFFLENBQUM7b0JBQ2hDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO2dCQUNqQyxDQUFDO2dCQUVELE1BQU0sV0FBVyxHQUNiLENBQUMsTUFBTSxJQUFJLFdBQUksRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDbkIsR0FBRyxFQUFFLFFBQVE7b0JBQ2IsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTyxFQUFFLEVBQUMsY0FBYyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxrQkFBa0IsRUFBQztvQkFDekUsT0FBTyxFQUFFLHFCQUFlLENBQUMsa0JBQWtCO2lCQUM5QyxDQUFDLENBQ0wsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUVaLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyw2Q0FBNkM7Z0JBQ3RFLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO2dCQUM5RCxNQUFNLFNBQVMsR0FBRztvQkFDZCxVQUFVLEVBQUUsY0FBYztvQkFDMUIsYUFBYSxFQUFFLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxhQUFhO29CQUNyQyxZQUFZLEVBQUUsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLFlBQVk7b0JBQ25DLG9DQUFvQztvQkFDcEMsNEJBQTRCO29CQUM1QiwyQkFBMkI7b0JBQzNCLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVTtvQkFDNUIsV0FBVyxFQUFFLElBQUksQ0FBQyxVQUFVO29CQUM1Qix3QkFBd0I7b0JBQ3hCLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7aUJBQ2xDLENBQUM7Z0JBQ0YsTUFBTSxPQUFPLEdBQUc7b0JBQ1osY0FBYyxFQUFFLGtCQUFrQjtvQkFDbEMsTUFBTSxFQUFFLGtCQUFrQjtvQkFDMUIsYUFBYSxFQUFFLFFBQVEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsS0FBSyxHQUFHLEdBQUcsR0FBRyxRQUFRLENBQUM7aUJBQzdFLENBQUM7Z0JBQ0YsTUFBTSxrQkFBa0IsR0FBZ0IsQ0FDcEMsTUFBTSxJQUFJLFdBQUksRUFBRSxDQUFDLElBQUksQ0FBQztvQkFDbEIsR0FBRyxFQUFFLFFBQVE7b0JBQ2IsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTztvQkFDUCxPQUFPLEVBQUUscUJBQWUsQ0FBQyxrQkFBa0I7aUJBQzlDLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBRWIsU0FBUyxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7Z0JBQ2xDLE1BQU0sY0FBYyxHQUNoQixDQUFDLE1BQU0sSUFBSSxXQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7b0JBQ25CLEdBQUcsRUFBRSxRQUFRO29CQUNiLElBQUksRUFBRSxTQUFTO29CQUNmLE9BQU8sRUFBRTt3QkFDTCxjQUFjLEVBQUUsa0JBQWtCO3dCQUNsQyxNQUFNLEVBQUUsa0JBQWtCO3dCQUMxQixhQUFhLEVBQUUsU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUk7cUJBQ3JEO29CQUNELE9BQU8sRUFBRSxxQkFBZSxDQUFDLGtCQUFrQjtpQkFDOUMsQ0FBQyxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztnQkFFYixTQUFTLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQztnQkFDdkMsTUFBTSxtQkFBbUIsR0FDckIsQ0FBQyxNQUFNLElBQUksV0FBSSxFQUFFLENBQUMsSUFBSSxDQUFDO29CQUNuQixHQUFHLEVBQUUsUUFBUTtvQkFDYixJQUFJLEVBQUUsU0FBUztvQkFDZixPQUFPLEVBQUU7d0JBQ0wsY0FBYyxFQUFFLGtCQUFrQjt3QkFDbEMsTUFBTSxFQUFFLGtCQUFrQjt3QkFDMUIsYUFBYSxFQUFFLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJO3FCQUNyRDtvQkFDRCxPQUFPLEVBQUUscUJBQWUsQ0FBQyxrQkFBa0I7aUJBQzlDLENBQUMsQ0FDTCxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7Z0JBRWIsT0FBTyxJQUFJLDJCQUFZLENBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1lBQzVGLENBQUM7WUFBQyxPQUFPLENBQU0sRUFBRSxDQUFDO2dCQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUN4Qyx5R0FBeUc7Z0JBQ3pHLE1BQU0sSUFBSSxHQUFHLE9BQU8sQ0FBQSxDQUFDLGFBQUQsQ0FBQyx1QkFBRCxDQUFDLENBQUUsSUFBSSxDQUFBLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3hELE1BQU0sTUFBTSxHQUNSLENBQUMsT0FBTyxDQUFBLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRSxPQUFPLENBQUEsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQztvQkFDN0MsQ0FBQyxPQUFPLENBQUEsTUFBQSxDQUFDLGFBQUQsQ0FBQyx1QkFBRCxDQUFDLENBQUUsT0FBTywwQ0FBRSxPQUFPLENBQUEsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUM7b0JBQzlELENBQUMsT0FBTyxDQUFBLENBQUMsYUFBRCxDQUFDLHVCQUFELENBQUMsQ0FBRSxNQUFNLENBQUEsS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFDM0MsY0FBYyxDQUFDO2dCQUNuQixNQUFNLElBQUksZUFBUyxDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN0QyxDQUFDO1FBQ0wsQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNVLGNBQWMsQ0FBQyxZQUFvQjs7WUFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztnQkFDWixPQUFPLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUM1QixPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUMsQ0FBQyxDQUFDO1lBQzdELENBQUM7WUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxHQUFHLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztZQUM5RCxNQUFNLFNBQVMsR0FBRztnQkFDZCxVQUFVLEVBQUUsY0FBYztnQkFDMUIsNEJBQTRCO2dCQUM1QixXQUFXLEVBQUUsSUFBSSxDQUFDLFVBQVU7Z0JBQzVCLFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDNUIsd0JBQXdCO2dCQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUMvQixhQUFhLEVBQUUsWUFBWTtnQkFDM0IsWUFBWSxFQUFFLE1BQU0sQ0FBQyxZQUFZO2FBQ3BDLENBQUM7WUFFRixNQUFNLGtCQUFrQixHQUFnQixDQUNwQyxNQUFNLElBQUksV0FBSSxFQUFFLENBQUMsSUFBSSxDQUFDO2dCQUNsQixHQUFHLEVBQUUsUUFBUTtnQkFDYixJQUFJLEVBQUUsU0FBUztnQkFDZixPQUFPLEVBQUU7b0JBQ0wsY0FBYyxFQUFFLGtCQUFrQjtvQkFDbEMsTUFBTSxFQUFFLGtCQUFrQjtvQkFDMUIsYUFBYSxFQUFFLFNBQVMsR0FBRyxZQUFZO2lCQUMxQztnQkFDRCxPQUFPLEVBQUUscUJBQWUsQ0FBQyxrQkFBa0I7YUFDOUMsQ0FBQyxDQUNMLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUViLFNBQVMsQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1lBQ2xDLE1BQU0sY0FBYyxHQUNoQixDQUFDLE1BQU0sSUFBSSxXQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLEdBQUcsRUFBRSxRQUFRO2dCQUNiLElBQUksRUFBRSxTQUFTO2dCQUNmLE9BQU8sRUFBRTtvQkFDTCxjQUFjLEVBQUUsa0JBQWtCO29CQUNsQyxNQUFNLEVBQUUsa0JBQWtCO29CQUMxQixhQUFhLEVBQUUsU0FBUyxHQUFHLGtCQUFrQixDQUFDLElBQUk7aUJBQ3JEO2dCQUNELE9BQU8sRUFBRSxxQkFBZSxDQUFDLGtCQUFrQjthQUM5QyxDQUFDLENBQ0wsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBRWIsTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3RCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBRTFELE9BQU8sRUFBQyxrQkFBa0IsRUFBRSxjQUFjLEVBQUMsQ0FBQztRQUNoRCxDQUFDO0tBQUE7SUFFWSxNQUFNLENBQUMsWUFBcUI7O1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7Z0JBQ1osT0FBTyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDNUIsT0FBTyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFDLENBQUMsQ0FBQztZQUM3RCxDQUFDO1lBRUQsMEJBQTBCO1lBQzFCLHdCQUF3QjtZQUN4Qix5Q0FBeUM7WUFDekMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUN4QyxNQUFNLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQztZQUVqRCxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQyxPQUFPLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM3QixDQUFDO1lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsR0FBRyxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7WUFFOUQsT0FBTyxDQUNILE1BQU0sSUFBSSxXQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUM7Z0JBQ3BCLEdBQUcsRUFBRSxRQUFRO2dCQUNiLE9BQU8sRUFBRTtvQkFDTCxjQUFjLEVBQUUsa0JBQWtCO29CQUNsQyxNQUFNLEVBQUUsa0JBQWtCO29CQUMxQixhQUFhLEVBQUUsU0FBUyxHQUFHLFlBQVk7b0JBQ3ZDLE9BQU8sRUFBRSxxQkFBZSxDQUFDLGtCQUFrQjtpQkFDOUM7YUFDSixDQUFDLENBQ0wsQ0FBQyxJQUFJLENBQUM7UUFDWCxDQUFDO0tBQUE7SUFFTSxPQUFPO1FBQ1YsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDekMsQ0FBQzs7QUE5UUwsd0JBK1FDO0FBOVFHLGdDQUFnQztBQUNqQiwwQkFBbUIsR0FBRyxDQUFDLENBQUM7QUFDeEIsbUJBQVksR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMifQ==
@@ -0,0 +1,28 @@
1
+ import * as oauth from 'oauth4webapi';
2
+ export interface OidcOptions {
3
+ issuer: string;
4
+ clientId: string;
5
+ redirectUri: string;
6
+ apiEndpoint: string;
7
+ storage: Pick<Storage, 'getItem' | 'setItem' | 'removeItem'>;
8
+ }
9
+ export declare class FidjOidcClient {
10
+ private options;
11
+ private metadata;
12
+ private refreshPending;
13
+ private readonly prefix;
14
+ constructor(options: OidcOptions);
15
+ private network;
16
+ private discover;
17
+ private discovery;
18
+ hasSession(): boolean;
19
+ private session;
20
+ beginLogin(): Promise<string>;
21
+ completeLogin(callback: URL): Promise<oauth.IDToken>;
22
+ private save;
23
+ accessToken(): Promise<string>;
24
+ private refresh;
25
+ request(path: string, method?: string, data?: unknown): Promise<any>;
26
+ logout(): Promise<void>;
27
+ clear(): void;
28
+ }