@ambushsoftworks/nestjs-auth-graphql 0.17.0 → 0.18.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/CHANGELOG.md +83 -0
- package/README.md +173 -0
- package/dist/auth.module.d.ts +10 -0
- package/dist/auth.module.d.ts.map +1 -1
- package/dist/auth.module.js +41 -3
- package/dist/auth.module.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +2 -1
- package/dist/constants.js.map +1 -1
- package/dist/exceptions/email-challenge.exceptions.d.ts +8 -0
- package/dist/exceptions/email-challenge.exceptions.d.ts.map +1 -0
- package/dist/exceptions/email-challenge.exceptions.js +21 -0
- package/dist/exceptions/email-challenge.exceptions.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces/auth-logger.interface.d.ts +5 -1
- package/dist/interfaces/auth-logger.interface.d.ts.map +1 -1
- package/dist/interfaces/auth-logger.interface.js +4 -0
- package/dist/interfaces/auth-logger.interface.js.map +1 -1
- package/dist/interfaces/email-challenge-repository.interface.d.ts +22 -0
- package/dist/interfaces/email-challenge-repository.interface.d.ts.map +1 -0
- package/dist/interfaces/email-challenge-repository.interface.js +3 -0
- package/dist/interfaces/email-challenge-repository.interface.js.map +1 -0
- package/dist/interfaces/email-service.interface.d.ts +5 -0
- package/dist/interfaces/email-service.interface.d.ts.map +1 -1
- package/dist/interfaces/email-template-renderer.interface.d.ts +7 -0
- package/dist/interfaces/email-template-renderer.interface.d.ts.map +1 -1
- package/dist/interfaces/index.d.ts +1 -0
- package/dist/interfaces/index.d.ts.map +1 -1
- package/dist/interfaces/index.js +1 -0
- package/dist/interfaces/index.js.map +1 -1
- package/dist/interfaces/rate-limiter.interface.d.ts.map +1 -1
- package/dist/repositories/in-memory-email-challenge.repository.d.ts +14 -0
- package/dist/repositories/in-memory-email-challenge.repository.d.ts.map +1 -0
- package/dist/repositories/in-memory-email-challenge.repository.js +55 -0
- package/dist/repositories/in-memory-email-challenge.repository.js.map +1 -0
- package/dist/services/configurable-email.service.d.ts +2 -1
- package/dist/services/configurable-email.service.d.ts.map +1 -1
- package/dist/services/configurable-email.service.js +24 -0
- package/dist/services/configurable-email.service.js.map +1 -1
- package/dist/services/default-email-template-renderer.d.ts +7 -0
- package/dist/services/default-email-template-renderer.d.ts.map +1 -1
- package/dist/services/default-email-template-renderer.js +31 -0
- package/dist/services/default-email-template-renderer.js.map +1 -1
- package/dist/services/email-challenge.service.d.ts +74 -0
- package/dist/services/email-challenge.service.d.ts.map +1 -0
- package/dist/services/email-challenge.service.js +306 -0
- package/dist/services/email-challenge.service.js.map +1 -0
- package/dist/services/passkey-signup-token.service.d.ts.map +1 -1
- package/dist/services/passkey-signup-token.service.js +4 -4
- package/dist/services/passkey-signup-token.service.js.map +1 -1
- package/dist/services/passkey.service.d.ts.map +1 -1
- package/dist/services/passkey.service.js +12 -22
- package/dist/services/passkey.service.js.map +1 -1
- package/dist/testing/email-challenge-repository.contract.d.ts +15 -0
- package/dist/testing/email-challenge-repository.contract.d.ts.map +1 -0
- package/dist/testing/email-challenge-repository.contract.js +287 -0
- package/dist/testing/email-challenge-repository.contract.js.map +1 -0
- package/dist/testing/index.d.ts +1 -0
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +4 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/utils/rate-limit-helpers.d.ts +4 -0
- package/dist/utils/rate-limit-helpers.d.ts.map +1 -0
- package/dist/utils/rate-limit-helpers.js +20 -0
- package/dist/utils/rate-limit-helpers.js.map +1 -0
- package/examples/email-challenge/prisma-email-challenge.repository.ts +85 -0
- package/examples/email-challenge/schema.prisma +24 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -27,6 +27,89 @@ for buried obligations. **The marker was introduced in 0.9.0 and has not been
|
|
|
27
27
|
retro-applied**, so it is reliable from 0.9.0 onward only. Convention adopted
|
|
28
28
|
from `@ambushsoftworks/nestjs-payments-graphql`.
|
|
29
29
|
|
|
30
|
+
## [0.18.0] - 2026-10-07
|
|
31
|
+
|
|
32
|
+
**Email challenges**: one-time codes that prove someone holds an email address,
|
|
33
|
+
whether or not it belongs to a user. Additive; nothing changes for an app that
|
|
34
|
+
does not use it. Requested by Ariadne, for outside translators who open one job
|
|
35
|
+
and are not users.
|
|
36
|
+
|
|
37
|
+
### ⚠ External configuration required
|
|
38
|
+
|
|
39
|
+
Only to use email challenges:
|
|
40
|
+
- **A table for `IEmailChallengeRepository`**, with no foreign key to users.
|
|
41
|
+
Schema and Prisma adapter in `examples/email-challenge/`. Run
|
|
42
|
+
`assertEmailChallengeRepositoryContract` against it on your real database.
|
|
43
|
+
- **An email service that can send the code.** `ConfigurableEmailService` does,
|
|
44
|
+
with the default renderer. A custom `IEmailTemplateRenderer` adds
|
|
45
|
+
`renderEmailChallengeCodeEmail`; a hand-written `IEmailService` adds
|
|
46
|
+
`sendEmailChallengeCode`.
|
|
47
|
+
- **A shared `rateLimiterInstance`** if you run more than one instance: the send
|
|
48
|
+
limits are counted there.
|
|
49
|
+
- **A button in your frontend** that asks for the code. Do not send it when the
|
|
50
|
+
page loads: mail scanners open links.
|
|
51
|
+
|
|
52
|
+
### Added
|
|
53
|
+
|
|
54
|
+
- **`EmailChallengeService`**: `issue({ email, purpose, emailData? })` emails a
|
|
55
|
+
6-digit code and returns an opaque `challengeId`; `verify({ challengeId, code,
|
|
56
|
+
email, purpose })` answers `{ ok: true, email, purpose }` or `{ ok: false,
|
|
57
|
+
reason: 'WRONG' | 'EXPIRED' | 'LOCKED' }`; `revoke({ purpose, email? })` stops
|
|
58
|
+
outstanding codes. No `perform*` resolver methods: your resolver calls it with
|
|
59
|
+
an address and purpose from your own data. See the README, "Email Challenges",
|
|
60
|
+
including six rules for that resolver.
|
|
61
|
+
- **`IEmailChallengeRepository`**, `InMemoryEmailChallengeRepository`, and
|
|
62
|
+
`emailChallengeRepositoryInstance`, which enables the feature. Rows hold keyed
|
|
63
|
+
hashes only: no address, purpose or code.
|
|
64
|
+
- **`assertEmailChallengeRepositoryContract`** in
|
|
65
|
+
`@ambushsoftworks/nestjs-auth-graphql/testing`.
|
|
66
|
+
- **`emailChallenge`** options: `ttlMinutes` (default 15, up to 60) and
|
|
67
|
+
`issueLimits` (`cooldownSeconds` 60, `perHour` 5, `perIpPerHour` 30).
|
|
68
|
+
- `IEmailService.sendEmailChallengeCode` and
|
|
69
|
+
`IEmailTemplateRenderer.renderEmailChallengeCodeEmail`, both optional.
|
|
70
|
+
- Security events `EMAIL_CHALLENGE_ISSUED`, `EMAIL_CHALLENGE_VERIFIED`,
|
|
71
|
+
`EMAIL_CHALLENGE_FAILED` and `EMAIL_CHALLENGE_LOCKED`.
|
|
72
|
+
- Error codes `EMAIL_CHALLENGE_UNAVAILABLE` and `EMAIL_CHALLENGE_SEND_FAILED`
|
|
73
|
+
(both 503).
|
|
74
|
+
|
|
75
|
+
### Changed
|
|
76
|
+
|
|
77
|
+
- The boot warning for a missing `rateLimiterInstance` now names everything
|
|
78
|
+
counted there, not only password-reset throttling.
|
|
79
|
+
|
|
80
|
+
## [0.17.1] - 2026-10-07
|
|
81
|
+
|
|
82
|
+
A security fix for passwordless sign-up, which shipped in 0.17.0. **If you offer
|
|
83
|
+
passwordless sign-up, upgrade.** Nothing else changes, and no code or
|
|
84
|
+
configuration change is needed.
|
|
85
|
+
|
|
86
|
+
### ⚠ Security
|
|
87
|
+
|
|
88
|
+
- **A passwordless sign-up could be completed without access to the inbox.** The
|
|
89
|
+
`signupId` a client holds carries a keyed hash of the emailed code, and that
|
|
90
|
+
hash depended on the code alone, so a given code had the same hash in every
|
|
91
|
+
sign-up. Someone who ran sign-ups against inboxes they own could record which
|
|
92
|
+
hash went with which code, then start a sign-up for any other address, read
|
|
93
|
+
the hash out of the `signupId` they were handed, and look the code up without
|
|
94
|
+
spending an attempt. The more pairs recorded, the better the odds: about 1% a
|
|
95
|
+
try with 10,000. It let them create an account, with a verified email, for an
|
|
96
|
+
address that had none, and it let `PASSKEY_SIGNUP_EMAIL_TAKEN` reveal that an
|
|
97
|
+
address has an account. The hash now covers the sign-up's own id, so it is
|
|
98
|
+
different in every sign-up. Found in review, not reported from use.
|
|
99
|
+
- **Code guesses sent together could exceed the three-attempt limit** with a
|
|
100
|
+
rate limiter that takes a round trip (Redis, a database): each was checked
|
|
101
|
+
before any was counted. An attempt is now counted before it is checked.
|
|
102
|
+
|
|
103
|
+
### Changed
|
|
104
|
+
|
|
105
|
+
- A sign-up started before the upgrade must be started again: its code no longer
|
|
106
|
+
matches. Sign-ups last 15 minutes.
|
|
107
|
+
- More than three code attempts sent at once are now all refused, the first
|
|
108
|
+
three included. One at a time, three are allowed as before.
|
|
109
|
+
- `IRateLimiter.checkRateLimit` documents what the package relies on: `allowed`
|
|
110
|
+
is true while **fewer than** `limit` attempts are recorded. The bundled
|
|
111
|
+
limiters already behave so; check a custom one.
|
|
112
|
+
|
|
30
113
|
## [0.17.0] - 2026-10-02
|
|
31
114
|
|
|
32
115
|
Passwordless sign-up with a passkey, a step-up token on sign-in, and fixes for
|
package/README.md
CHANGED
|
@@ -21,6 +21,7 @@ Production-grade authentication module for NestJS GraphQL + REST APIs. JWT, cook
|
|
|
21
21
|
- [Biometric Authentication](#biometric-authentication)
|
|
22
22
|
- [Passkeys](#passkeys)
|
|
23
23
|
- [Step-Up Re-authentication](#step-up-re-authentication)
|
|
24
|
+
- [Email Challenges](#email-challenges)
|
|
24
25
|
- [Brute Force Protection](#brute-force-protection)
|
|
25
26
|
- [Password Reset](#password-reset)
|
|
26
27
|
- [Password Policy](#password-policy)
|
|
@@ -42,6 +43,7 @@ Production-grade authentication module for NestJS GraphQL + REST APIs. JWT, cook
|
|
|
42
43
|
- [Biometric Options (`biometric`)](#biometric-options-biometric)
|
|
43
44
|
- [Passkey Options (`passkey`)](#passkey-options-passkey)
|
|
44
45
|
- [Step-Up Options (`stepUp`)](#step-up-options-stepup)
|
|
46
|
+
- [Email Challenge Options (`emailChallenge`)](#email-challenge-options-emailchallenge)
|
|
45
47
|
- [SendGrid Options (`sendgrid`)](#sendgrid-options-sendgrid)
|
|
46
48
|
- [Twilio Options (`twilio`)](#twilio-options-twilio)
|
|
47
49
|
- [Optional Instance Options](#optional-instance-options)
|
|
@@ -1465,6 +1467,164 @@ over a short expiry. Shorten `stepUp.ttlSeconds` if you want a tighter window.
|
|
|
1465
1467
|
**Email codes use a new verification type, `step-up`.** If your verification
|
|
1466
1468
|
repository stores the type in a database enum, add the value.
|
|
1467
1469
|
|
|
1470
|
+
### Email Challenges
|
|
1471
|
+
|
|
1472
|
+
Prove that someone holds an email address, with a 6-digit code, **whether or not
|
|
1473
|
+
the address belongs to a user**: an outside translator opening a job, a referee
|
|
1474
|
+
uploading a letter, a client's employer confirming details. Since 0.18.0.
|
|
1475
|
+
|
|
1476
|
+
There are no resolver methods for this. Your own resolver calls
|
|
1477
|
+
`EmailChallengeService`:
|
|
1478
|
+
|
|
1479
|
+
```typescript
|
|
1480
|
+
@Resolver()
|
|
1481
|
+
export class TranslationJobResolver {
|
|
1482
|
+
constructor(
|
|
1483
|
+
private readonly emailChallenges: EmailChallengeService,
|
|
1484
|
+
private readonly jobs: JobsService,
|
|
1485
|
+
) {}
|
|
1486
|
+
|
|
1487
|
+
// The link in the job email carries a job reference and no credential.
|
|
1488
|
+
// "Send me a code" is a button on the page it opens.
|
|
1489
|
+
@Mutation(() => JobCodeSent)
|
|
1490
|
+
async sendJobCode(@Args('jobRef') jobRef: string, @CurrentRealm() realm: string, @Context() ctx) {
|
|
1491
|
+
const job = await this.jobs.findByReference(jobRef); // throws if unknown
|
|
1492
|
+
return this.emailChallenges.issue(
|
|
1493
|
+
{ email: job.translatorEmail, purpose: `translation-job:${job.id}`, emailData: { firm: job.firmName } },
|
|
1494
|
+
{ realm, ipAddress: extractIpAddress(ctx.req) },
|
|
1495
|
+
); // { challengeId, expiresAt, expiresInMinutes }
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1498
|
+
@Mutation(() => JobOpened)
|
|
1499
|
+
async openJob(@Args('input') input: OpenJobInput, @CurrentRealm() realm: string, @Context() ctx) {
|
|
1500
|
+
const job = await this.jobs.findByReference(input.jobRef);
|
|
1501
|
+
const result = await this.emailChallenges.verify(
|
|
1502
|
+
// The address and purpose this job says the code must be for.
|
|
1503
|
+
{ challengeId: input.challengeId, code: input.code, email: job.translatorEmail, purpose: `translation-job:${job.id}` },
|
|
1504
|
+
{ realm, ipAddress: extractIpAddress(ctx.req) },
|
|
1505
|
+
);
|
|
1506
|
+
if (!result.ok) return { ok: false, reason: result.reason }; // 'WRONG' | 'EXPIRED' | 'LOCKED'
|
|
1507
|
+
// result.email holds mail for this job. What they get now is yours to decide.
|
|
1508
|
+
}
|
|
1509
|
+
}
|
|
1510
|
+
```
|
|
1511
|
+
|
|
1512
|
+
**Enable it** with a repository and an email service that can send the code:
|
|
1513
|
+
|
|
1514
|
+
```typescript
|
|
1515
|
+
AuthModule.forRootAsync({
|
|
1516
|
+
useFactory: (emailChallenges: PrismaEmailChallengeRepository) => ({
|
|
1517
|
+
// ...
|
|
1518
|
+
emailChallengeRepositoryInstance: emailChallenges, // enables the feature; there is no flag
|
|
1519
|
+
rateLimiterInstance: sharedRateLimiter, // send limits; shared if you run several instances
|
|
1520
|
+
}),
|
|
1521
|
+
})
|
|
1522
|
+
```
|
|
1523
|
+
|
|
1524
|
+
`ConfigurableEmailService` sends the code through `renderEmailChallengeCodeEmail`
|
|
1525
|
+
on its renderer; the default renderer has a generic one. A hand-written
|
|
1526
|
+
`IEmailService` adds `sendEmailChallengeCode(email, code, expiresInMinutes, { purpose, data })`.
|
|
1527
|
+
Without the repository or the method, `issue` answers `EMAIL_CHALLENGE_UNAVAILABLE`.
|
|
1528
|
+
|
|
1529
|
+
**What a verified challenge proves:** that whoever entered the code could read
|
|
1530
|
+
mail sent to that address in the last 15 minutes. Not who they are, and nothing
|
|
1531
|
+
about any account.
|
|
1532
|
+
|
|
1533
|
+
| Behaviour | Detail |
|
|
1534
|
+
|---|---|
|
|
1535
|
+
| Code | 6 digits, 15 minutes (`emailChallenge.ttlMinutes`, or `ttlMinutes` per call; 1 to 60) |
|
|
1536
|
+
| Attempts | Three per code, right or wrong, then `LOCKED`. A new code can be sent |
|
|
1537
|
+
| Single use | A code is accepted once. Two requests with the right code: one wins |
|
|
1538
|
+
| Newest wins | Sending a new code stops the earlier one for that address and purpose |
|
|
1539
|
+
| Binding | `verify` refuses a challenge issued for another address, purpose or realm, as `EXPIRED`. Purposes never affect each other, nor a user's own email verification |
|
|
1540
|
+
| Send limits | Per address and purpose: one a minute, five an hour. Per IP: thirty an hour. `RATE_LIMIT_EXCEEDED` with `retryAfterSeconds`; see [`emailChallenge`](#email-challenge-options-emailchallenge) |
|
|
1541
|
+
| A failed send | `EMAIL_CHALLENGE_SEND_FAILED` and nothing else: provider errors quote the recipient. The detail goes to `IAuthLogger.error`. Costs the address a minute's wait, not its hourly five |
|
|
1542
|
+
| Revoking | `revoke({ purpose, email? })` stops outstanding codes, for when the job is cancelled |
|
|
1543
|
+
|
|
1544
|
+
| Result or code | Meaning | Tell the person |
|
|
1545
|
+
|---|---|---|
|
|
1546
|
+
| `{ ok: true, email, purpose }` | The code was right | |
|
|
1547
|
+
| `reason: 'WRONG'` | Not the code; attempts remain | Try again |
|
|
1548
|
+
| `reason: 'EXPIRED'` | Ran out, already used, replaced, or not a challenge for this address and purpose | Send a new code |
|
|
1549
|
+
| `reason: 'LOCKED'` | Three attempts spent | Send a new code |
|
|
1550
|
+
| `RATE_LIMIT_EXCEEDED` (429) | Too many codes requested | Wait `retryAfterSeconds` |
|
|
1551
|
+
| `EMAIL_CHALLENGE_SEND_FAILED` (503) | The email could not be sent | Try again shortly |
|
|
1552
|
+
| `EMAIL_CHALLENGE_UNAVAILABLE` (503) | Not configured | |
|
|
1553
|
+
|
|
1554
|
+
A refused code is a result, not an exception: what to show is your decision.
|
|
1555
|
+
The exact cause (`code_wrong`, `purpose_mismatch`, `challenge_expired`, ...) is
|
|
1556
|
+
in the `EMAIL_CHALLENGE_FAILED` security event only.
|
|
1557
|
+
|
|
1558
|
+
#### Rules for your resolver
|
|
1559
|
+
|
|
1560
|
+
`issue` sends mail to whatever address it is given, and the person asking may
|
|
1561
|
+
not be the address's owner. Six rules keep that safe:
|
|
1562
|
+
|
|
1563
|
+
1. **Take the address and the purpose from your own data, never from the
|
|
1564
|
+
request.** `verify` then enforces that the code was issued for exactly that.
|
|
1565
|
+
2. **Send the code on a button press, not when the page loads.** Mail scanners
|
|
1566
|
+
and link previews open links, and each would send a code and spend the
|
|
1567
|
+
cooldown.
|
|
1568
|
+
3. **Make the reference in the link unguessable.** Whoever holds the link can
|
|
1569
|
+
spend the address's five codes an hour, which locks the real person out for
|
|
1570
|
+
that hour. They still cannot read the code.
|
|
1571
|
+
4. **Pass `ipAddress`.** Without it the per-IP limit is not applied (the service
|
|
1572
|
+
warns once).
|
|
1573
|
+
5. **Keep personal data out of `purpose`.** It is written to security events as
|
|
1574
|
+
given. Use ids. Put a counter in it (`translation-job:42:2`) if a re-sent job
|
|
1575
|
+
should start with a clean slate.
|
|
1576
|
+
6. **Show the address masked** (`t•••@agency.example`), not in full: the person
|
|
1577
|
+
looking at the page may be holding a forwarded link.
|
|
1578
|
+
|
|
1579
|
+
#### Implementing `IEmailChallengeRepository`
|
|
1580
|
+
|
|
1581
|
+
One table, no relation to your users. Reference schema and Prisma adapter:
|
|
1582
|
+
[`examples/email-challenge/`](examples/email-challenge/).
|
|
1583
|
+
|
|
1584
|
+
```prisma
|
|
1585
|
+
model EmailChallenge {
|
|
1586
|
+
id String @id // generated by the package
|
|
1587
|
+
emailHash String
|
|
1588
|
+
purposeHash String
|
|
1589
|
+
codeHash String
|
|
1590
|
+
attempts Int @default(0)
|
|
1591
|
+
consumedAt DateTime?
|
|
1592
|
+
expiresAt DateTime
|
|
1593
|
+
createdAt DateTime
|
|
1594
|
+
|
|
1595
|
+
@@index([purposeHash, emailHash])
|
|
1596
|
+
@@index([expiresAt])
|
|
1597
|
+
}
|
|
1598
|
+
```
|
|
1599
|
+
|
|
1600
|
+
Nothing in a row is readable. The address, the purpose and the code are stored
|
|
1601
|
+
as keyed hashes the package computes (the realm is inside the first two), so
|
|
1602
|
+
the table holds no addresses of people who are not your users, and the adapter
|
|
1603
|
+
has no realm to filter on.
|
|
1604
|
+
|
|
1605
|
+
**Two methods must each be one conditional write**, never a read followed by a
|
|
1606
|
+
write: `registerAttempt` (`UPDATE … SET attempts = attempts + 1 WHERE attempts <
|
|
1607
|
+
max AND consumedAt IS NULL`) and `consumeChallenge` (`UPDATE … WHERE consumedAt
|
|
1608
|
+
IS NULL`). A read-then-write version lets guesses sent together all count as
|
|
1609
|
+
one, or one code be accepted twice. Check your adapter against your real
|
|
1610
|
+
database:
|
|
1611
|
+
|
|
1612
|
+
```typescript
|
|
1613
|
+
import { assertEmailChallengeRepositoryContract } from '@ambushsoftworks/nestjs-auth-graphql/testing';
|
|
1614
|
+
|
|
1615
|
+
it('meets the email challenge repository contract', async () => {
|
|
1616
|
+
await assertEmailChallengeRepositoryContract(() => new PrismaEmailChallengeRepository(prisma), {
|
|
1617
|
+
cleanup: async ({ challengeIds }) => {
|
|
1618
|
+
await prisma.emailChallenge.deleteMany({ where: { id: { in: challengeIds } } });
|
|
1619
|
+
},
|
|
1620
|
+
});
|
|
1621
|
+
});
|
|
1622
|
+
```
|
|
1623
|
+
|
|
1624
|
+
It calls `deleteExpiredChallenges`, which removes every expired challenge in
|
|
1625
|
+
that database. `InMemoryEmailChallengeRepository` is for tests and a single
|
|
1626
|
+
instance.
|
|
1627
|
+
|
|
1468
1628
|
### Brute Force Protection
|
|
1469
1629
|
|
|
1470
1630
|
Provide a `bruteForceRepositoryInstance` and the module tracks failed login attempts and temporarily locks accounts. Without one, `NoOpBruteForceRepository` is used and no account is ever locked; there is no flag to set. The lockout policy (attempt thresholds, lockout duration) is determined by your `IBruteForceRepository` implementation.
|
|
@@ -1971,6 +2131,17 @@ reported at boot as ignored. With it, `rp` is required.
|
|
|
1971
2131
|
| `ttlSeconds` | `number` | `300` | Step-up token lifetime, 1 to 3600 |
|
|
1972
2132
|
| `issueOnLogin` | `boolean` | `false` | Return a step-up token from fresh sign-ins (see [Step-Up](#step-up-re-authentication)) |
|
|
1973
2133
|
|
|
2134
|
+
### Email Challenge Options (`emailChallenge`)
|
|
2135
|
+
|
|
2136
|
+
Read only with `emailChallengeRepositoryInstance`. See [Email Challenges](#email-challenges).
|
|
2137
|
+
|
|
2138
|
+
| Option | Type | Default | Description |
|
|
2139
|
+
|--------|------|---------|-------------|
|
|
2140
|
+
| `ttlMinutes` | `number` | `15` | How long a code lasts, 1 to 60. `issue` can override it per call |
|
|
2141
|
+
| `issueLimits.cooldownSeconds` | `number` | `60` | Seconds between two codes for one address and purpose. `0` turns it off |
|
|
2142
|
+
| `issueLimits.perHour` | `number` | `5` | Codes an hour for one address and purpose. At least 1 |
|
|
2143
|
+
| `issueLimits.perIpPerHour` | `number` | `30` | Codes an hour from one IP, across addresses. `0` turns it off |
|
|
2144
|
+
|
|
1974
2145
|
### Optional Instance Options
|
|
1975
2146
|
|
|
1976
2147
|
| Option | Interface | Fallback |
|
|
@@ -1982,6 +2153,7 @@ reported at boot as ignored. With it, `rp` is required.
|
|
|
1982
2153
|
| `bruteForceRepositoryInstance` | `IBruteForceRepository` | `NoOpBruteForceRepository` |
|
|
1983
2154
|
| `biometricRepositoryInstance` | `IBiometricRepository` | none: biometrics disabled |
|
|
1984
2155
|
| `passkeyRepositoryInstance` | `IPasskeyRepository` | none: passkeys disabled |
|
|
2156
|
+
| `emailChallengeRepositoryInstance` | `IEmailChallengeRepository` | none: email challenges unavailable |
|
|
1985
2157
|
| `authLoggerInstance` | `IAuthLogger` | `ConsoleAuthLogger` |
|
|
1986
2158
|
| `tenantRepositoryInstance` | `ITenantRepository` | `null` |
|
|
1987
2159
|
| `tenantExtractorInstance` | `ITenantExtractor` | `null` |
|
|
@@ -2110,6 +2282,7 @@ export class CustomGuard implements CanActivate {
|
|
|
2110
2282
|
- **`__Host-` cookie prefix** support for enhanced cookie security
|
|
2111
2283
|
- **Separate HMAC secrets** for refresh tokens, verification codes, and OAuth state
|
|
2112
2284
|
- **Realm-based identity isolation** with JWT realm claim validation, realm-scoped rate limiting and lockout, and auth flows that refuse a request without a realm
|
|
2285
|
+
- **Email challenges for non-users** -- one-time codes whose address, purpose and code are stored only as keyed hashes, bound to the address, purpose and realm they were issued for, with attempts and single use enforced by atomic writes in your store (see [Email Challenges](#email-challenges))
|
|
2113
2286
|
- **Pinned JWT algorithms** -- the package's own `jwt` strategy verifies `HS256` only, and `createExternalJwtStrategy` requires an explicit `algorithms` list from one family (see [External JWTs](#external-jwts))
|
|
2114
2287
|
- **API keys with scopes and expiry**, refused hard when they carry your prefix and match no key, so no other strategy accepts them
|
|
2115
2288
|
- **No raw personal data in package logs** — log lines use the user ID or a salted hash (`emailHash=`, `ipHash=`, under `AUTH_IP_HASH_SALT` or `jwtSecret`), phone numbers keep only their last two digits, and the default `ConsoleAuthLogger` redacts security-event metadata. A custom `authLoggerInstance` receives the raw fields; pass them through `redactSecurityEventMetadata` to store them redacted.
|
package/dist/auth.module.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { IVerificationRepository } from './interfaces/verification-repository.in
|
|
|
10
10
|
import { IBruteForceRepository } from './interfaces/brute-force-repository.interface';
|
|
11
11
|
import { IBiometricRepository } from './interfaces/biometric-repository.interface';
|
|
12
12
|
import { IPasskeyRepository } from './interfaces/passkey-repository.interface';
|
|
13
|
+
import { IEmailChallengeRepository } from './interfaces/email-challenge-repository.interface';
|
|
13
14
|
import { PasskeyRelyingPartyConfig } from './utils/passkey-rp';
|
|
14
15
|
import { IAuthLogger } from './interfaces/auth-logger.interface';
|
|
15
16
|
import { ITenantRepository } from './interfaces/tenant-repository.interface';
|
|
@@ -35,6 +36,7 @@ export interface AuthModuleOptions {
|
|
|
35
36
|
bruteForceRepositoryInstance?: IBruteForceRepository;
|
|
36
37
|
biometricRepositoryInstance?: IBiometricRepository;
|
|
37
38
|
passkeyRepositoryInstance?: IPasskeyRepository;
|
|
39
|
+
emailChallengeRepositoryInstance?: IEmailChallengeRepository;
|
|
38
40
|
authLoggerInstance?: IAuthLogger;
|
|
39
41
|
refreshTokenSecret?: string;
|
|
40
42
|
verificationCodeSecret?: string;
|
|
@@ -148,6 +150,14 @@ export interface AuthModuleOptions {
|
|
|
148
150
|
removed?: boolean;
|
|
149
151
|
};
|
|
150
152
|
};
|
|
153
|
+
emailChallenge?: {
|
|
154
|
+
ttlMinutes?: number;
|
|
155
|
+
issueLimits?: {
|
|
156
|
+
cooldownSeconds?: number;
|
|
157
|
+
perHour?: number;
|
|
158
|
+
perIpPerHour?: number;
|
|
159
|
+
};
|
|
160
|
+
};
|
|
151
161
|
stepUp?: {
|
|
152
162
|
ttlSeconds?: number;
|
|
153
163
|
issueOnLogin?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,kBAAkB,EAElB,UAAU,EAGX,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"auth.module.d.ts","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.module.js
CHANGED
|
@@ -30,6 +30,7 @@ const passkey_service_1 = require("./services/passkey.service");
|
|
|
30
30
|
const step_up_service_1 = require("./services/step-up.service");
|
|
31
31
|
const step_up_token_service_1 = require("./services/step-up-token.service");
|
|
32
32
|
const passkey_signup_token_service_1 = require("./services/passkey-signup-token.service");
|
|
33
|
+
const email_challenge_service_1 = require("./services/email-challenge.service");
|
|
33
34
|
const webauthn_adapter_1 = require("./passkey/webauthn-adapter");
|
|
34
35
|
const oauth_linking_token_service_1 = require("./services/oauth-linking-token.service");
|
|
35
36
|
const jwt_strategy_1 = require("./strategies/jwt.strategy");
|
|
@@ -62,6 +63,7 @@ function validateAuthModuleOptions(opts) {
|
|
|
62
63
|
validateBiometricOptions(opts);
|
|
63
64
|
validatePasskeyOptions(opts);
|
|
64
65
|
validateStepUpOptions(opts);
|
|
66
|
+
validateEmailChallengeOptions(opts);
|
|
65
67
|
validateRealmOptions(opts);
|
|
66
68
|
validateRefreshRetryOptions(opts);
|
|
67
69
|
validateCsrfOptions(opts);
|
|
@@ -159,6 +161,11 @@ function describeIgnoredOptions(opts) {
|
|
|
159
161
|
messages.push('[AuthModule] passkey is ignored: passkeys are enabled by `passkeyRepositoryInstance`, ' +
|
|
160
162
|
'which is not set. Remove passkey, or set passkeyRepositoryInstance.');
|
|
161
163
|
}
|
|
164
|
+
if (opts.emailChallenge !== undefined && !opts.emailChallengeRepositoryInstance) {
|
|
165
|
+
messages.push('[AuthModule] emailChallenge is ignored: email challenges are enabled by ' +
|
|
166
|
+
'`emailChallengeRepositoryInstance`, which is not set. Remove emailChallenge, or set ' +
|
|
167
|
+
'emailChallengeRepositoryInstance.');
|
|
168
|
+
}
|
|
162
169
|
if (opts.refreshRetryCacheInstance && opts.refreshGracePeriodSeconds === 0) {
|
|
163
170
|
messages.push('[AuthModule] refreshRetryCacheInstance is ignored: refreshGracePeriodSeconds is 0, ' +
|
|
164
171
|
'which turns refresh retries off. Remove one of the two.');
|
|
@@ -168,9 +175,11 @@ function describeIgnoredOptions(opts) {
|
|
|
168
175
|
function describeInMemoryDefaults(opts) {
|
|
169
176
|
const messages = [];
|
|
170
177
|
if (!opts.rateLimiterInstance) {
|
|
171
|
-
messages.push('[AuthModule] rateLimiterInstance is not set, so
|
|
172
|
-
'
|
|
173
|
-
'
|
|
178
|
+
messages.push('[AuthModule] rateLimiterInstance is not set, so every limit the package keeps there ' +
|
|
179
|
+
'(password-reset and verification-email cooldowns, passkey and sign-up limits, sign-up code ' +
|
|
180
|
+
'attempts, email challenge sends) is counted in memory, separately on each instance. With ' +
|
|
181
|
+
'more than one instance, a client gets the allowed attempts once per instance. Provide a ' +
|
|
182
|
+
'shared IRateLimiter, or pass ' +
|
|
174
183
|
'`new InMemoryRateLimiterService()` to confirm a single instance.');
|
|
175
184
|
}
|
|
176
185
|
if (!opts.refreshRetryCacheInstance && opts.refreshGracePeriodSeconds !== 0) {
|
|
@@ -361,6 +370,28 @@ function validateStepUpOptions(opts) {
|
|
|
361
370
|
'A step-up token proves a recent re-authentication, so it must be short-lived.');
|
|
362
371
|
}
|
|
363
372
|
}
|
|
373
|
+
function validateEmailChallengeOptions(opts) {
|
|
374
|
+
if (!opts.emailChallengeRepositoryInstance) {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
const ttl = opts.emailChallenge?.ttlMinutes;
|
|
378
|
+
if (ttl !== undefined && (typeof ttl !== 'number' || !Number.isInteger(ttl) || ttl < 1 || ttl > 60)) {
|
|
379
|
+
throw new invalid_auth_config_exception_1.InvalidAuthConfigException(`[AuthModule] emailChallenge.ttlMinutes must be an integer from 1 to 60; received ${String(ttl)}. ` +
|
|
380
|
+
'A code is three guesses at a million; it must not stay open for long.');
|
|
381
|
+
}
|
|
382
|
+
const limits = opts.emailChallenge?.issueLimits;
|
|
383
|
+
for (const [setting, minimum] of [
|
|
384
|
+
['cooldownSeconds', 0],
|
|
385
|
+
['perHour', 1],
|
|
386
|
+
['perIpPerHour', 0],
|
|
387
|
+
]) {
|
|
388
|
+
const value = limits?.[setting];
|
|
389
|
+
if (value !== undefined && (typeof value !== 'number' || !Number.isInteger(value) || value < minimum)) {
|
|
390
|
+
throw new invalid_auth_config_exception_1.InvalidAuthConfigException(`[AuthModule] emailChallenge.issueLimits.${setting} must be an integer of at least ${minimum}; ` +
|
|
391
|
+
`received ${String(value)}.`);
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
364
395
|
function validateVerificationOptions(opts) {
|
|
365
396
|
if ((opts.features?.verificationMode ?? 'code') !== 'token') {
|
|
366
397
|
return;
|
|
@@ -531,6 +562,12 @@ let AuthModule = AuthModule_1 = class AuthModule {
|
|
|
531
562
|
passkey_signup_token_service_1.PasskeySignupTokenService,
|
|
532
563
|
passkey_service_1.PasskeyService,
|
|
533
564
|
step_up_service_1.StepUpService,
|
|
565
|
+
{
|
|
566
|
+
provide: constants_1.EMAIL_CHALLENGE_REPOSITORY,
|
|
567
|
+
inject: [constants_1.AUTH_MODULE_OPTIONS],
|
|
568
|
+
useFactory: (opts) => opts.emailChallengeRepositoryInstance ?? null,
|
|
569
|
+
},
|
|
570
|
+
email_challenge_service_1.EmailChallengeService,
|
|
534
571
|
{
|
|
535
572
|
provide: constants_1.EMAIL_SERVICE,
|
|
536
573
|
inject: [constants_1.AUTH_MODULE_OPTIONS],
|
|
@@ -714,6 +751,7 @@ let AuthModule = AuthModule_1 = class AuthModule {
|
|
|
714
751
|
step_up_service_1.StepUpService,
|
|
715
752
|
step_up_token_service_1.StepUpTokenService,
|
|
716
753
|
passkey_signup_token_service_1.PasskeySignupTokenService,
|
|
754
|
+
email_challenge_service_1.EmailChallengeService,
|
|
717
755
|
constants_1.AUTH_LOGGER,
|
|
718
756
|
constants_1.USER_REPOSITORY,
|
|
719
757
|
constants_1.REFRESH_TOKEN_REPOSITORY,
|
package/dist/auth.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth.module.js","sourceRoot":"","sources":["../src/auth.module.ts"],"names":[],"mappings":";;;;;;;;;;AAw7BA,8DA6CC;AA2ED,kEAwBC;AASD,wDAyCC;AAWD,4DAwBC;AA7pCD,2CAOwB;AACxB,oEAAgE;AAChE,qCAAwC;AACxC,+CAAkD;AAIlD,0DAAsD;AACtD,4EAAuE;AACvE,0EAAsE;AACtE,sEAAkE;AAClE,wEAAmE;AACnE,8FAAwF;AAExF,8EAAyE;AACzE,wFAAmF;AACnF,qFAA+E;AAE/E,8FAAyF;AACzF,gEAA4D;AAC5D,gEAA2D;AAC3D,4EAAsE;AACtE,0FAAoF;AACpF,gFAA2E;AAC3E,iEAAkF;AAClF,wFAAkF;AAGlF,4DAAwD;AACxD,kEAA8D;AAC9D,sEAAkE;AAClE,4EAAuE;AACvE,gFAA2E;AAG3E,mEAA+D;AAc/D,mDAAoF;AAIpF,8FAAyF;AACzF,4FAAsF;AACtF,8EAAsE;AACtE,yDAA+D;AAC/D,sEAAiE;AACjE,kEAA6D;AAY7D,wDAAoD;AACpD,gEAA4D;AAC5D,sDAAkD;AAClD,oEAA+D;AAC/D,wFAAkF;AAGlF,2CAsBqB;AAOrB,8FAAuF;AAEvF,4FAAqF;AAOrF,8FAAwF;AACxF,yEAAoE;AAEpE,sFAAiF;AACjF,gGAA0F;AA0zB1F,SAAgB,yBAAyB,CAAC,IAAuB;IAC/D,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAClC,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAC/B,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5B,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACpC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC3B,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAClC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC1B,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC;IAEjD,IAAI,WAAW,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7C,MAAM,IAAI,0DAA0B,CAClC,4EAA4E;YAC1E,qEAAqE;YACrE,qEAAqE;YACrE,4EAA4E;YAC5E,+DAA+D;YAC/D,2EAA2E;YAC3E,sEAAsE,CACzE,CAAC;IACJ,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QAChB,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;QAE9C,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YACvD,MAAM,IAAI,0DAA0B,CAClC,wFAAwF,MAAM,CAC5F,WAAW,CACZ,qEAAqE;gBACpE,sEAAsE,CACzE,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,0DAA0B,CAClC,qFAAqF,MAAM,CACzF,QAAQ,CACT,2EAA2E,CAC7E,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAKD,MAAM,kBAAkB,GAAG,CAAC,YAAY,EAAE,4BAA4B,EAAE,kBAAkB,CAAU,CAAC;AASrG,MAAM,qBAAqB,GAMvB;IACF,iBAAiB,EAAE;QACjB,YAAY,EACV,qHAAqH;QACvH,MAAM,EAAE;YACN,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;YACxF,CAAC,kCAAkC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;SACvF;KACF;IACD,eAAe,EAAE;QACf,YAAY,EACV,sGAAsG;QACxG,MAAM,EAAE;YACN,CAAC,sBAAsB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC;YAC9D,CAAC,kCAAkC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;SACvF;KACF;IACD,WAAW,EAAE;QACX,YAAY,EAAE,6CAA6C;QAC3D,MAAM,EAAE,CAAC,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;KACjF;IACD,aAAa,EAAE;QACb,YAAY,EAAE,iDAAiD;QAC/D,MAAM,EAAE;YACN,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC1E,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;SACnF;KACF;IACD,aAAa,EAAE;QACb,YAAY,EAAE,sEAAsE;QACpF,MAAM,EAAE,CAAC,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;KAC3F;IACD,oBAAoB,EAAE;QACpB,YAAY,EACV,oGAAoG;QACtG,MAAM,EAAE,CAAC,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,4BAA4B,CAAC,CAAC,CAAC;KAC7F;IACD,YAAY,EAAE;QACZ,YAAY,EACV,gHAAgH;QAClH,MAAM,EAAE,CAAC,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;KACrF;CACF,CAAC;AAaF,SAAgB,2BAA2B,CAAC,IAAuB;IACjE,MAAM,SAAS,GAAsB,kBAAkB,CAAC;IAExD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACzC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,OAAO,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CACL,yBAAyB,GAAG,yCAAyC;gBACrE,oCAAoC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACrE,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM;aACzB,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;aACvF,IAAI,CAAC,IAAI,CAAC,CAAC;QAEd,OAAO,CACL,yBAAyB,GAAG,qEAAqE;YACjG,GAAG,OAAO,CAAC,YAAY,4BAA4B,KAAK,mBAAmB,CAC5E,CAAC;IACJ,CAAC,CAAC,CAAC;AACP,CAAC;AASD,SAAgB,sBAAsB,CAAC,IAAuB;IAC5D,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IAEnD,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QACnE,QAAQ,CAAC,IAAI,CACX,sFAAsF;YACpF,gFAAgF;YAChF,mDAAmD,CACtD,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACxE,QAAQ,CAAC,IAAI,CACX,8EAA8E;YAC5E,2FAA2F,CAC9F,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QAClE,QAAQ,CAAC,IAAI,CACX,wFAAwF;YACtF,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAChF,QAAQ,CAAC,IAAI,CACX,0EAA0E;YACxE,sFAAsF;YACtF,mCAAmC,CACtC,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,KAAK,CAAC,EAAE,CAAC;QAC3E,QAAQ,CAAC,IAAI,CACX,qFAAqF;YACnF,yDAAyD,CAC5D,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAWD,SAAgB,wBAAwB,CAAC,IAAuB;IAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC9B,QAAQ,CAAC,IAAI,CACX,sFAAsF;YACpF,6FAA6F;YAC7F,2FAA2F;YAC3F,0FAA0F;YAC1F,+BAA+B;YAC/B,kEAAkE,CACrE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,yBAAyB,KAAK,CAAC,EAAE,CAAC;QAC5E,QAAQ,CAAC,IAAI,CACX,wFAAwF;YACtF,0FAA0F;YAC1F,0FAA0F;YAC1F,6FAA6F,CAChG,CAAC;IACJ,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAOD,SAAS,qBAAqB,CAAC,IAAuB;IACpD,MAAM,UAAU,GAAY,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;IACpD,IACE,UAAU,KAAK,SAAS;QACxB,CAAC,OAAO,UAAU,KAAK,QAAQ;YAC7B,CAAC,+BAA+B,CAAC,IAAI,CAAC,UAAU,CAAC;YACjD,UAAU,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,EAC/C,CAAC;QACD,MAAM,IAAI,0DAA0B,CAClC,iGAAiG;YAC/F,qCAAqC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CACrE,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAY,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC;IAC5C,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,EAAE,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,0DAA0B,CAClC,gFAAgF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAC1G,CAAC;IACJ,CAAC;AACH,CAAC;AAOD,SAAS,mBAAmB,CAAC,IAAuB;IAClD,MAAM,SAAS,GAAY,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;IAChD,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QAC9E,OAAO;IACT,CAAC;IACD,MAAM,IAAI,0DAA0B,CAClC,oEAAoE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,CACjG,CAAC;AACJ,CAAC;AAQD,SAAS,2BAA2B,CAAC,IAAuB;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,yBAAyB,CAAC;IAEnD,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC,EAAE,CAAC;QACrF,MAAM,IAAI,0DAA0B,CAClC,mFAAmF,MAAM,CACvF,WAAW,CACZ,sCAAsC,CACxC,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,yBAAyB,CAAC;IAC7C,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,YAAY,yDAAyB,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QACvG,MAAM,IAAI,0DAA0B,CAClC,sFAAsF;YACpF,wFAAwF;YACxF,0FAA0F;YAC1F,0BAA0B,CAC7B,CAAC;IACJ,CAAC;AACH,CAAC;AAUD,SAAS,oBAAoB,CAAC,IAAuB;IACnD,MAAM,IAAI,GAAY,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC;IAEvC,IAAI,CAAC,IAAI,CAAC,sBAAsB,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,IAAI,KAAK,UAAU,EAAE,CAAC;QACrF,OAAO;IACT,CAAC;IAED,MAAM,IAAI,0DAA0B,CAClC,mFACE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,IAC5C,6EAA6E;QAC3E,oFAAoF;QACpF,gCAAgC,CACnC,CAAC;AACJ,CAAC;AAcD,SAAS,wBAAwB,CAAC,IAAuB;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;IACjC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAKD,IAAI,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;IACtC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,0DAA0B,CAClC,6EAA6E;gBAC3E,wEAAwE;gBACxE,uEAAuE;gBACvE,0CAA0C,CAC7C,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;gBACzB,MAAM,IAAI,0DAA0B,CAClC,0EAA0E;oBACxE,0DAA0D,CAC7D,CAAC;YACJ,CAAC;YACD,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACjC,MAAM,IAAI,0DAA0B,CAClC,wEAAwE;oBACtE,IAAI,QAAQ,CAAC,SAAS,qDAAqD;oBAC3E,gEAAgE;oBAChE,sBAAsB,CACzB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,SAAS,CAAC,sBAAsB,CAAC;IAChD,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,IAAI,0DAA0B,CAClC,4EAA4E;YAC1E,YAAY,MAAM,6DAA6D;YAC/E,aAAa,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,SAAS,CAAC,kBAAkB,CAAC;IAC3C,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,0DAA0B,CAClC,2EAA2E;gBACzE,qBAAqB,KAAK,CAAC,WAAW,sCAAsC,CAC/E,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,0DAA0B,CAClC,wEAAwE;gBACtE,qBAAqB,KAAK,CAAC,QAAQ,GAAG,CACzC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAK9B,MAAM,IAAI,0DAA0B,CAClC,kFAAkF;gBAChF,8EAA8E;gBAC9E,gFAAgF;gBAChF,+EAA+E;gBAC/E,4CAA4C,CAC/C,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAWD,SAAS,sBAAsB,CAAC,IAAuB;IACrD,IAAI,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC7B,IAAI,CAAC,OAAO,EAAE,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,0DAA0B,CAClC,0FAA0F;YACxF,gFAAgF;YAChF,qEAAqE,CACxE,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACzC,IAAI,OAAO,EAAE,KAAK,UAAU,IAAI,OAAO,IAAI,KAAK,UAAU,IAAI,OAAO,OAAO,KAAK,UAAU,EAAE,CAAC;QAC5F,IAAA,gCAAmB,EAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI;YAC7B,CAAC,eAAe,EAAE,EAAE,CAAC;YACrB,CAAC,iBAAiB,EAAE,IAAI,CAAC;YACzB,CAAC,oBAAoB,EAAE,OAAO,CAAC;SACvB,EAAE,CAAC;YACX,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBAC1C,MAAM,IAAI,0DAA0B,CAAC,gBAAgB,OAAO,eAAe,CAAC,CAAC;YAC/E,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,GAAY,OAAO,CAAC,gBAAgB,CAAC;IAC3D,IACE,gBAAgB,KAAK,SAAS;QAC9B,gBAAgB,KAAK,UAAU;QAC/B,gBAAgB,KAAK,WAAW;QAChC,gBAAgB,KAAK,aAAa,EAClC,CAAC;QACD,MAAM,IAAI,0DAA0B,CAClC,0FAA0F;YACxF,YAAY,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAClD,CAAC;IACJ,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,CAAC,4BAA4B,EAAE,8BAA8B,CAAU,EAAE,CAAC;QAC9F,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,0DAA0B,CAClC,wBAAwB,OAAO,yCAAyC,MAAM,CAAC,KAAK,CAAC,GAAG,CACzF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,aAAa,GAAY,OAAO,CAAC,kBAAkB,CAAC;IAC1D,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,aAAwC,CAAC;QACvD,MAAM,WAAW,GACf,aAAa,KAAK,IAAI,IAAI,OAAO,aAAa,KAAK,QAAQ;YACzD,CAAC,CAAC,CAAC,iBAAiB,CAAC;YACrB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,SAAS,CAAC,CAAC;QAC/E,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CAC5C,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,SAAS,CACvE,CAAC;QACF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,0DAA0B,CAClC,0FAA0F;gBACxF,YAAY,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,wCAAwC;gBACjF,gBAAgB,CACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,0DAA0B,CAClC,kFAAkF;gBAChF,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAClC,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,0DAA0B,CAClC,+EAA+E;gBAC7E,GAAG,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAC/B,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAE9B,MAAM,IAAI,0DAA0B,CAClC,qFAAqF;gBACnF,mFAAmF;gBACnF,2EAA2E;gBAC3E,6EAA6E,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAGD,SAAS,qBAAqB,CAAC,IAAuB;IACpD,MAAM,YAAY,GAAY,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC;IACxD,IAAI,YAAY,KAAK,SAAS,IAAI,OAAO,YAAY,KAAK,SAAS,EAAE,CAAC;QACpE,MAAM,IAAI,0DAA0B,CAClC,gEAAgE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAChG,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;IACpC,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,0DAA0B,CAClC,8EAA8E,MAAM,CAAC,GAAG,CAAC,IAAI;YAC3F,+EAA+E,CAClF,CAAC;IACJ,CAAC;AACH,CAAC;AAOD,SAAS,6BAA6B,CAAC,IAAuB;IAC5D,IAAI,CAAC,IAAI,CAAC,gCAAgC,EAAE,CAAC;QAC3C,OAAO;IACT,CAAC;IAED,MAAM,GAAG,GAAY,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;IACrD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC;QACpG,MAAM,IAAI,0DAA0B,CAClC,oFAAoF,MAAM,CAAC,GAAG,CAAC,IAAI;YACjG,uEAAuE,CAC1E,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,WAAW,CAAC;IAChD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI;QAC/B,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACtB,CAAC,SAAS,EAAE,CAAC,CAAC;QACd,CAAC,cAAc,EAAE,CAAC,CAAC;KACX,EAAE,CAAC;QACX,MAAM,KAAK,GAAY,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QACzC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC,EAAE,CAAC;YACtG,MAAM,IAAI,0DAA0B,CAClC,2CAA2C,OAAO,mCAAmC,OAAO,IAAI;gBAC9F,YAAY,MAAM,CAAC,KAAK,CAAC,GAAG,CAC/B,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,2BAA2B,CAAC,IAAuB;IAC1D,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,IAAI,MAAM,CAAC,KAAK,OAAO,EAAE,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,0DAA0B,CAClC,6EAA6E;YAC3E,wEAAwE;YACxE,0EAA0E;YAC1E,0EAA0E;YAC1E,2EAA2E;YAC3E,6EAA6E;YAC7E,6DAA6D;YAC7D,sCAAsC,CACzC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAChC,IAAA,2CAAmB,EAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;IAOD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,MAAM,IAAI,0DAA0B,CAClC,yEAAyE;YACvE,kBAAkB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;YAC5E,0EAA0E;YAC1E,yEAAyE;YACzE,cAAc,CACjB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,0DAA0B,CAClC,gEAAgE;YAC9D,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,eAAe;YAC7E,+DAA+D,CAClE,CAAC;IACJ,CAAC;IAED,IAAA,2CAAmB,EAAC,MAAM,EAAE,sDAAsD,CAAC,CAAC;AACtF,CAAC;AAMD,yCAiBqB;AAhBnB,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AACf,qHAAA,wBAAwB,OAAA;AACxB,0GAAA,aAAa,OAAA;AACb,wGAAA,WAAW,OAAA;AACX,iHAAA,oBAAoB,OAAA;AACpB,oHAAA,uBAAuB,OAAA;AACvB,mHAAA,sBAAsB,OAAA;AACtB,iHAAA,oBAAoB,OAAA;AACpB,wGAAA,WAAW,OAAA;AACX,yGAAA,YAAY,OAAA;AACZ,8GAAA,iBAAiB,OAAA;AACjB,6GAAA,gBAAgB,OAAA;AAChB,2HAAA,8BAA8B,OAAA;AAC9B,gHAAA,mBAAmB,OAAA;AACnB,+GAAA,kBAAkB,OAAA;AAyCb,IAAM,UAAU,kBAAhB,MAAM,UAAU;IACrB,SAAS,CAAC,QAA4B;QACpC,QAAQ,CAAC,KAAK,CAAC,kCAAe,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAgCD,MAAM,CAAC,YAAY,CAAC,OAA+B;QACjD,MAAM,eAAe,GAAa;YAChC,OAAO,EAAE,+BAAmB;YAC5B,UAAU,EAAE,KAAK,EAAE,GAAG,IAAW,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAsB,MAAM,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;gBAIlE,yBAAyB,CAAC,IAAI,CAAC,CAAC;gBAIhC,KAAK,MAAM,OAAO,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACnD,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACrC,CAAC;gBAID,KAAK,MAAM,OAAO,IAAI,wBAAwB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrD,eAAM,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBACrC,CAAC;gBAKD,IAAA,sCAAsB,EAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;gBAGxE,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;wBACjC,MAAM,IAAI,KAAK,CACb,kFAAkF;4BAClF,8CAA8C,CAC/C,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;wBACjD,MAAM,IAAI,KAAK,CACb,+EAA+E;4BAC/E,qCAAqC,CACtC,CAAC;oBACJ,CAAC;oBACD,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBACvB,MAAM,IAAI,KAAK,CACb,wEAAwE;4BACxE,oDAAoD,CACrD,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,EAAE;SAC7B,CAAC;QAEF,OAAO;YACL,MAAM,EAAE,YAAU;YAClB,MAAM,EAAE,IAAI;YACZ,OAAO,EAAE;gBACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;gBAC1B,yBAAc,CAAC,QAAQ,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;gBACnD,eAAS,CAAC,aAAa,CAAC;oBACtB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,KAAK,EAAE,aAAgC,EAAE,EAAE,CAAC,CAAC;wBACvD,MAAM,EAAE,aAAa,CAAC,SAAS;wBAC/B,WAAW,EAAE;4BACX,SAAS,EAAE,CAAC,aAAa,CAAC,YAAY,IAAI,KAAK,CAAQ;yBACxD;qBACF,CAAC;iBACH,CAAC;aACH;YACD,WAAW,EAAE,OAAO,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,kCAAe,CAAC;YACvE,SAAS,EAAE;gBACT,eAAe;gBAGf;oBACE,OAAO,EAAE,2BAAe;oBACxB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;4BACjC,MAAM,IAAI,KAAK,CACb,+BAA+B;gCAC/B,iHAAiH,CAClH,CAAC;wBACJ,CAAC;wBACD,OAAO,IAAI,CAAC,sBAAsB,CAAC;oBACrC,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,oCAAwB;oBACjC,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,IAAI,CAAC,IAAI,CAAC,8BAA8B,EAAE,CAAC;4BACzC,MAAM,IAAI,KAAK,CACb,wCAAwC;gCACxC,gIAAgI,CACjI,CAAC;wBACJ,CAAC;wBACD,OAAO,IAAI,CAAC,8BAA8B,CAAC;oBAC7C,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,mCAAuB;oBAChC,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,8BAA8B,IAAI,IAAI,yDAA0B,EAAE,CAAC;oBACjF,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,kCAAsB;oBAC/B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,4BAA4B,IAAI,IAAI,sDAAwB,EAAE,CAAC;oBAC7E,CAAC;iBACF;gBAWD;oBACE,OAAO,EAAE,gCAAoB;oBAC7B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,2BAA2B,IAAI,IAAI;iBAClF;gBAKD;oBACE,OAAO,EAAE,+BAAmB;oBAC5B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAwB,EAAE,CAC5D,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,CAAC,IAAI,kDAAsB,EAAE,CAAC;iBAC9D;gBACD,uDAAyB;gBACzB,6CAAoB;gBAMpB;oBACE,OAAO,EAAE,8BAAkB;oBAC3B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI;iBAChF;gBACD;oBACE,OAAO,EAAE,4BAAgB;oBACzB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE,CACtC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,kCAAe,CAAC,IAAA,sCAAmB,GAAE,CAAC,CAAC,CAAC,CAAC,IAAI;iBACrF;gBACD,0CAAkB;gBAClB,wDAAyB;gBACzB,gCAAc;gBACd,+BAAa;gBAKb;oBACE,OAAO,EAAE,sCAA0B;oBACnC,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE,CAAC,IAAI,CAAC,gCAAgC,IAAI,IAAI;iBACvF;gBACD,+CAAqB;gBAMrB;oBACE,OAAO,EAAE,yBAAa;oBACtB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB;mCACvC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;oCACrB,CAAC,CAAC,IAAI,8DAA4B,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;oCACvD,CAAC,CAAC,SAAS,CAAC,CAAC;4BAEjB,IAAI,CAAC,QAAQ,EAAE,CAAC;gCACd,MAAM,IAAI,KAAK,CACb,oEAAoE;oCACpE,iDAAiD;oCACjD,iFAAiF,CAClF,CAAC;4BACJ,CAAC;4BAED,MAAM,IAAI,GAAG;gCACX,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK;gCAC5B,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO;6BAC3D,CAAC;4BAEF,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,gBAAgB,IAAI,MAAM,CAAC;4BAEnE,OAAO,IAAI,qDAAwB,CACjC,QAAQ,EACR,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,EACJ,gBAAgB,CACjB,CAAC;wBACJ,CAAC;wBACD,OAAO,IAAI,CAAC,oBAAoB,IAAI,IAAI,qCAAgB,EAAE,CAAC;oBAC7D,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,uBAAW;oBACpB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,iCAAc,EAAE,CAAC;oBACzD,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,gCAAoB;oBAC7B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,sBAAsB,IAAI,EAAE,CAAC;oBAC3C,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,uBAAW;oBACpB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,kBAAkB,IAAI,IAAI,0CAAiB,EAAE,CAAC;oBAC5D,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,wBAAY;oBACrB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,mBAAmB,IAAI,IAAI,2DAA0B,EAAE,CAAC;oBACtE,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,6BAAiB;oBAC1B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC;oBAC/C,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,4BAAgB;oBACzB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,uBAAuB,IAAI,IAAI,CAAC;oBAC9C,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,2BAAe;oBACxB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,sBAAsB,IAAI,IAAI,CAAC;oBAC7C,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,0CAA8B;oBACvC,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,oCAAoC,IAAI,IAAI,CAAC;oBAC3D,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,+BAAmB;oBAC5B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,yBAAyB,IAAI,IAAI,sDAAwB,EAAE,CAAC;oBAC1E,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,8BAAkB;oBAC3B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,IAAuB,EAAE,EAAE;wBACtC,OAAO,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC;oBAC/C,CAAC;iBACF;gBAGD,0BAAW;gBACX,2CAAmB;gBACnB,0CAAmB;gBACnB,uCAAiB;gBACjB,4DAA2B;gBAE3B,6CAAoB;gBACpB,uDAAyB;gBACzB,6DAA4B;gBAC5B,sDAAwB;gBAGxB;oBACE,OAAO,EAAE,sCAAiB;oBAC1B,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,OAA0B,EAAE,EAAE;wBACzC,OAAO,IAAI,sCAAiB,CAAC,OAAO,CAAC,CAAC;oBACxC,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,0BAAW;oBACpB,MAAM,EAAE,CAAC,+BAAmB,EAAE,0BAAW,EAAE,+BAAmB,CAAC;oBAC/D,UAAU,EAAE,CACV,OAA0B,EAC1B,WAAwB,EACxB,iBAAqC,EACrC,EAAE;wBACF,OAAO,IAAI,0BAAW,CAAC,OAAO,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;oBAClE,CAAC;iBACF;gBACD;oBACE,OAAO,EAAE,gCAAc;oBACvB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,OAA0B,EAAE,EAAE;wBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;wBAEjD,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACd,eAAM,CAAC,IAAI,CACT,8HAA8H,EAC9H,YAAY,CACb,CAAC;4BACF,OAAO,IAAI,yCAAkB,EAAE,CAAC;wBAClC,CAAC;wBAGD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;4BAC3B,MAAM,IAAI,KAAK,CACb,uEAAuE;gCACvE,mEAAmE;gCACnE,0FAA0F,CAC3F,CAAC;wBACJ,CAAC;wBAED,OAAO,IAAI,gCAAc,CAAC,OAAO,CAAC,CAAC;oBACrC,CAAC;iBACF;gBACD;oBACE,OAAO,EAAE,oCAAgB;oBACzB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,OAA0B,EAAE,EAAE;wBACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;wBACnD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC;wBAE3D,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,EAAE,CAAC;4BAC/B,eAAM,CAAC,IAAI,CACT,oJAAoJ,EACpJ,YAAY,CACb,CAAC;4BACF,OAAO,IAAI,6CAAoB,EAAE,CAAC;wBACpC,CAAC;wBAGD,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;4BAC3B,MAAM,IAAI,KAAK,CACb,yEAAyE;gCACzE,mEAAmE;gCACnE,0FAA0F,CAC3F,CAAC;wBACJ,CAAC;wBAED,OAAO,IAAI,oCAAgB,CAAC,OAAO,CAAC,CAAC;oBACvC,CAAC;iBACF;gBAGD;oBACE,OAAO,EAAE,iCAAc;oBACvB,MAAM,EAAE,CAAC,+BAAmB,CAAC;oBAC7B,UAAU,EAAE,CAAC,OAA0B,EAAE,EAAE;wBACzC,IAAI,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC;4BAEtC,OAAO,IAAI,CAAC;wBACd,CAAC;wBACD,OAAO,IAAI,iCAAc,CAAC,OAAO,CAAC,wBAAwB,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;oBAC9E,CAAC;iBACF;gBAGD,kCAAe;gBAGf,0BAAW;gBAGX,kCAAe;gBAGf,wBAAU;aAMX;YACD,OAAO,EAAE;gBACP,+BAAmB;gBACnB,0BAAW;gBACX,2CAAmB;gBACnB,0CAAmB;gBACnB,sCAAiB;gBACjB,uCAAiB;gBACjB,4DAA2B;gBAE3B,6CAAoB;gBACpB,uDAAyB;gBACzB,6DAA4B;gBAC5B,sDAAwB;gBACxB,gCAAc;gBACd,+BAAa;gBACb,0CAAkB;gBAClB,wDAAyB;gBACzB,+CAAqB;gBACrB,uBAAW;gBACX,2BAAe;gBACf,oCAAwB;gBACxB,6BAAiB;gBACjB,4BAAgB;gBAChB,2BAAe;gBACf,0CAA8B;gBAC9B,+BAAmB;gBACnB,8BAAkB;gBAClB,0BAAW;gBACX,kCAAe;gBACf,wBAAU;gBACV,eAAS;gBACT,yBAAc;aACf;SACF,CAAC;IACJ,CAAC;CACF,CAAA;AAhfY,gCAAU;qBAAV,UAAU;IADtB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,UAAU,CAgftB"}
|
package/dist/constants.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare const PERMISSIONS_KEY = "permissions";
|
|
|
20
20
|
export declare const BIOMETRIC_VERIFIERS = "BIOMETRIC_VERIFIERS";
|
|
21
21
|
export declare const PASSKEY_REPOSITORY = "PASSKEY_REPOSITORY";
|
|
22
22
|
export declare const WEBAUTHN_ADAPTER = "WEBAUTHN_ADAPTER";
|
|
23
|
+
export declare const EMAIL_CHALLENGE_REPOSITORY = "EMAIL_CHALLENGE_REPOSITORY";
|
|
23
24
|
export declare const SCOPES_KEY = "scopes";
|
|
24
25
|
export declare const SKIP_TENANT_KEY = "skipTenant";
|
|
25
26
|
export declare const PUBLIC_ENDPOINT_KEY = "isPublicEndpoint";
|
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAMjD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAMnE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAM7C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAMzC,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAM3D,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAMjE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAM/D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAO3D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAOzC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAU3C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAMrD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAMnD,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAM/E,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAMvD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAWvD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAOjD,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAG7C,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAMjD,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAMnE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAM7C,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAMzC,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAM3D,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAMjE,eAAO,MAAM,sBAAsB,2BAA2B,CAAC;AAM/D,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAO3D,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAOzC,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAU3C,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAMrD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAMnD,eAAO,MAAM,8BAA8B,mCAAmC,CAAC;AAM/E,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAMvD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAWvD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAOjD,eAAO,MAAM,eAAe,gBAAgB,CAAC;AAG7C,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAMzD,eAAO,MAAM,kBAAkB,uBAAuB,CAAC;AAGvD,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AAOnD,eAAO,MAAM,0BAA0B,+BAA+B,CAAC;AAGvE,eAAO,MAAM,UAAU,WAAW,CAAC;AAGnC,eAAO,MAAM,eAAe,eAAe,CAAC;AAG5C,eAAO,MAAM,mBAAmB,qBAAqB,CAAC;AAGtD,eAAO,MAAM,kBAAkB,kBAAkB,CAAC;AAUlD,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAM7D,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAMrE,eAAO,MAAM,qBAAqB,0BAA0B,CAAC"}
|
package/dist/constants.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.USER_REPOSITORY_PHONE = exports.USER_REPOSITORY_BIOMETRIC = exports.USER_REPOSITORY_OAUTH = exports.RESOURCE_SCOPE_KEY = exports.PUBLIC_ENDPOINT_KEY = exports.SKIP_TENANT_KEY = exports.SCOPES_KEY = exports.WEBAUTHN_ADAPTER = exports.PASSKEY_REPOSITORY = exports.BIOMETRIC_VERIFIERS = exports.PERMISSIONS_KEY = exports.REALM_EXTRACTOR = exports.TENANT_HEADER_NAME = exports.API_KEY_REPOSITORY = exports.JWT_PAYLOAD_FACTORY = exports.RESOURCE_PERMISSION_REPOSITORY = exports.TENANT_EXTRACTOR = exports.TENANT_REPOSITORY = exports.RATE_LIMITER = exports.AUTH_LOGGER = exports.BIOMETRIC_REPOSITORY = exports.BRUTE_FORCE_REPOSITORY = exports.VERIFICATION_REPOSITORY = exports.AUTH_LIFECYCLE_HOOKS = exports.SMS_SERVICE = exports.EMAIL_SERVICE = exports.REFRESH_TOKEN_REPOSITORY = exports.USER_REPOSITORY = exports.AUTH_MODULE_OPTIONS = void 0;
|
|
3
|
+
exports.USER_REPOSITORY_PHONE = exports.USER_REPOSITORY_BIOMETRIC = exports.USER_REPOSITORY_OAUTH = exports.RESOURCE_SCOPE_KEY = exports.PUBLIC_ENDPOINT_KEY = exports.SKIP_TENANT_KEY = exports.SCOPES_KEY = exports.EMAIL_CHALLENGE_REPOSITORY = exports.WEBAUTHN_ADAPTER = exports.PASSKEY_REPOSITORY = exports.BIOMETRIC_VERIFIERS = exports.PERMISSIONS_KEY = exports.REALM_EXTRACTOR = exports.TENANT_HEADER_NAME = exports.API_KEY_REPOSITORY = exports.JWT_PAYLOAD_FACTORY = exports.RESOURCE_PERMISSION_REPOSITORY = exports.TENANT_EXTRACTOR = exports.TENANT_REPOSITORY = exports.RATE_LIMITER = exports.AUTH_LOGGER = exports.BIOMETRIC_REPOSITORY = exports.BRUTE_FORCE_REPOSITORY = exports.VERIFICATION_REPOSITORY = exports.AUTH_LIFECYCLE_HOOKS = exports.SMS_SERVICE = exports.EMAIL_SERVICE = exports.REFRESH_TOKEN_REPOSITORY = exports.USER_REPOSITORY = exports.AUTH_MODULE_OPTIONS = void 0;
|
|
4
4
|
exports.AUTH_MODULE_OPTIONS = 'AUTH_MODULE_OPTIONS';
|
|
5
5
|
exports.USER_REPOSITORY = 'USER_REPOSITORY';
|
|
6
6
|
exports.REFRESH_TOKEN_REPOSITORY = 'REFRESH_TOKEN_REPOSITORY';
|
|
@@ -23,6 +23,7 @@ exports.PERMISSIONS_KEY = 'permissions';
|
|
|
23
23
|
exports.BIOMETRIC_VERIFIERS = 'BIOMETRIC_VERIFIERS';
|
|
24
24
|
exports.PASSKEY_REPOSITORY = 'PASSKEY_REPOSITORY';
|
|
25
25
|
exports.WEBAUTHN_ADAPTER = 'WEBAUTHN_ADAPTER';
|
|
26
|
+
exports.EMAIL_CHALLENGE_REPOSITORY = 'EMAIL_CHALLENGE_REPOSITORY';
|
|
26
27
|
exports.SCOPES_KEY = 'scopes';
|
|
27
28
|
exports.SKIP_TENANT_KEY = 'skipTenant';
|
|
28
29
|
exports.PUBLIC_ENDPOINT_KEY = 'isPublicEndpoint';
|
package/dist/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAgBa,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAMpC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAMtD,QAAA,aAAa,GAAG,eAAe,CAAC;AAMhC,QAAA,WAAW,GAAG,aAAa,CAAC;AAM5B,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAM9C,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AAMpD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAMlD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAO9C,QAAA,WAAW,GAAG,aAAa,CAAC;AAO5B,QAAA,YAAY,GAAG,cAAc,CAAC;AAU9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAMxC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAMtC,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAMlE,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAM1C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAW1C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAOpC,QAAA,eAAe,GAAG,aAAa,CAAC;AAGhC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAG1C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":";;;AAgBa,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAMpC,QAAA,wBAAwB,GAAG,0BAA0B,CAAC;AAMtD,QAAA,aAAa,GAAG,eAAe,CAAC;AAMhC,QAAA,WAAW,GAAG,aAAa,CAAC;AAM5B,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAM9C,QAAA,uBAAuB,GAAG,yBAAyB,CAAC;AAMpD,QAAA,sBAAsB,GAAG,wBAAwB,CAAC;AAMlD,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAO9C,QAAA,WAAW,GAAG,aAAa,CAAC;AAO5B,QAAA,YAAY,GAAG,cAAc,CAAC;AAU9B,QAAA,iBAAiB,GAAG,mBAAmB,CAAC;AAMxC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAMtC,QAAA,8BAA8B,GAAG,gCAAgC,CAAC;AAMlE,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAM1C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAW1C,QAAA,eAAe,GAAG,iBAAiB,CAAC;AAOpC,QAAA,eAAe,GAAG,aAAa,CAAC;AAGhC,QAAA,mBAAmB,GAAG,qBAAqB,CAAC;AAM5C,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAG1C,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AAOtC,QAAA,0BAA0B,GAAG,4BAA4B,CAAC;AAG1D,QAAA,UAAU,GAAG,QAAQ,CAAC;AAGtB,QAAA,eAAe,GAAG,YAAY,CAAC;AAG/B,QAAA,mBAAmB,GAAG,kBAAkB,CAAC;AAGzC,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAUrC,QAAA,qBAAqB,GAAG,uBAAuB,CAAC;AAMhD,QAAA,yBAAyB,GAAG,2BAA2B,CAAC;AAMxD,QAAA,qBAAqB,GAAG,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { GraphQLError } from 'graphql';
|
|
2
|
+
export declare class EmailChallengeUnavailableException extends GraphQLError {
|
|
3
|
+
constructor();
|
|
4
|
+
}
|
|
5
|
+
export declare class EmailChallengeSendFailedException extends GraphQLError {
|
|
6
|
+
constructor();
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=email-challenge.exceptions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"email-challenge.exceptions.d.ts","sourceRoot":"","sources":["../../src/exceptions/email-challenge.exceptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAkBvC,qBAAa,kCAAmC,SAAQ,YAAY;;CAMnE;AAQD,qBAAa,iCAAkC,SAAQ,YAAY;;CAMlE"}
|