@adonis-agora/authkit-core 0.10.1 → 1.0.0-rc.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 ADDED
@@ -0,0 +1,221 @@
1
+ # @adonis-agora/authkit-core
2
+
3
+ ## 1.0.0-rc.0
4
+
5
+ ### Major Changes
6
+
7
+ - [#436](https://github.com/DavideCarvalho/adonis-agora-authkit/pull/436) [`c942fe3`](https://github.com/DavideCarvalho/adonis-agora-authkit/commit/c942fe30483346217c9c89112e13db0d4a65c647) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - AuthKit 1.0. See the [Migrating to 1.0](https://github.com/DavideCarvalho/adonis-agora-authkit/blob/main/apps/docs/content/docs/migrating-to-1-0.mdx) guide.
8
+
9
+ Breaking changes (`@adonis-agora/authkit-server`):
10
+
11
+ - `withMfa` is removed. MFA state lives in the lib-owned `auth_mfa` table, so drop the mixin from your `AuthUser` model's `compose(...)`.
12
+ - `markSudo` is no longer exported. Grant sudo with `completeSudo(sudoContextFrom(ctx), methodId)`, which also writes the `sudo.confirmed` audit event, remembers the method and redirects to the validated `return_to`.
13
+ - The email-change confirmation link is sent through `mail.onEmailChangeConfirm` only. Without it, AuthKit sends its built-in email; `onEmailVerification` no longer receives email-change confirmations.
14
+ - The `clients` option of `defineConfig` is removed. Create clients in the admin console, through the Admin API or with `node ace authkit:clients:create` (new `--client-secret` flag keeps an existing secret). `buildImpersonationPanel(cfg, targetId, clients)` now requires `clients`, and the impersonation curl always shows the `<CLIENT_SECRET>` placeholder.
15
+ - `inertiaRenderer({ prefix, views })`: `views` is required. Screens not listed render with the built-in Edge view. `AuthkitScreen` is now the exact union of the screens AuthKit renders (adds `throttled`, `agents/consent`, `agents/done`; no arbitrary strings), and every screen's props are exported: `AuthkitScreenProps['<view>']` plus named types (`LoginProps`, `SessionExpiredProps`, …). The controllers are checked against them. Hosts declare screens of their own by augmenting `AuthkitScreenProps` (`declare module '@adonis-agora/authkit-server'`).
16
+ - The Admin API client body reads `grantTypes` only; the `grants` alias is gone (responses still return `grants`).
17
+ - `lucidAccountStore` always mounts password history over the model's connection (`auth_password_history`).
18
+ - `/account/orgs/json`, `/account/orgs/invitations/json` and `/account/orgs/:id/json` are removed; use `/account/api/orgs/*`.
19
+ - `GET /account/api/apps` entries gain `name` and `logoUrl`.
20
+
21
+ - The admin console reads its config from a `<script type="application/json" id="authkit-admin-config">` data block (CSP-safe) instead of an inline `window.__AUTHKIT__` script; the dev fallback is gone.
22
+ - The admin client DTO returns `grantTypes` (was `grants`), plus `clientName` and `logoUri`, which the console and the Admin API can now set (`null` removes them, as it does `backchannelLogoutUri`). `GET {admin}/api/clients/:id` exists.
23
+ - Anonymous JSON callers of the admin and account JSON APIs get `401` (and `403` without an admin role) instead of a redirect to the login page.
24
+ - Fixes: the Redis adapter's `list()` honours the connection `keyPrefix` (sessions, apps and admin lists were empty); a password login posted without a password is an invalid-credentials answer, not a 500.
25
+
26
+ Breaking changes (`@adonis-agora/authkit-core`):
27
+
28
+ - `ClientConfig` and `ResolvedAuthServerConfig.clients` are removed.
29
+
30
+ Breaking changes (`@adonis-agora/authkit-client`):
31
+
32
+ - `@adonisjs/auth` is a required peer. `ctx.auth` is `@adonisjs/auth`, backed by the AuthKit session through `authkitClientGuard`; `ctx.authkit` (from `authkit_context_middleware`) carries the AuthKit-only data (identity, `hasGlobalRole`, active org, `toSharedProps`).
33
+ - `authkit_middleware`, `auth_middleware` and `silent_auth_middleware` (and their subpaths) are removed: `ctx.auth` comes from `@adonisjs/auth`, and `middleware.auth()` / `silentAuth` are the `#middleware/auth_middleware` / `#middleware/silent_auth_middleware` files `node ace configure` publishes. `require_org_middleware` stays. `@adonis-agora/authkit-client/types` no longer declares `HttpContext.auth`; type `ctx.authkit.getUser()` through the `AuthkitUserType` interface.
34
+ - `node ace configure @adonis-agora/authkit-client` installs `@adonisjs/auth` when missing (`--no-install` prints the command), writes `config/auth.ts` with `authkitClientGuard` + `sessionUserProvider` (`--model`, default `#models/user`; an existing file is left alone and the guard to add is printed), registers `@adonisjs/auth/auth_provider`, `initialize_auth_middleware` + `authkit_context_middleware`, and publishes the named `auth` / `silentAuth` middleware.
35
+ - `authkitClientGuard` takes its user from `resolveUser` when one is configured (so `lucidMirror` provisions the row on first login, and what it loads is on `ctx.auth.user`, the same instance as `ctx.authkit.getUser()`), with the provider as the fallback.
36
+ - New `authkitIdentityProvider()`: a user provider with no database; `ctx.auth.user` is the AuthKit `Identity`.
37
+ - New `authkitClientGuard({ provider, resolver })` option: a per-guard resolver for API routes (bearer JWT, opaque, PAT).
38
+ - `resolvers.jwt({ tokenSource: 'bearer' })` accepts `Authorization: DPoP <jwt>` with a valid `DPoP` proof for `cnf.jkt`-bound tokens, and refuses DPoP-bound tokens sent as `Bearer`.
39
+ - `UnauthorizedAccessConstructor` is no longer exported, and `AuthkitClientGuard` no longer takes an exception class; it always throws `@adonisjs/auth`'s `E_UNAUTHORIZED_ACCESS`.
40
+
41
+ Breaking changes (`@adonis-agora/authkit-sdk`):
42
+
43
+ - `clients.*` return `grantTypes` (was `grants`), plus `clientName` and `logoUri`.
44
+
45
+ Breaking changes (`@adonis-agora/authkit-react`):
46
+
47
+ - `createAuthkitClient()` no longer reads `window.__AUTHKIT__`: pass `baseUrl` for `client.admin.*` and `csrfToken`.
48
+ - Admin response types match the server: `users.remove` / `clients.remove` → `{ ok, deleted }`, `users.resetPassword` → `{ ok, email }`, `users.disable` / `enable` → the user, `SettingListResult.locked`; `AdminClient.grants` → `grantTypes` (+ `clientName`, `logoUri`); `UpdateUserInput` is `{ globalRoles? }`, `CreateUserInput` takes no `null`.
49
+ - New: `client.account.agents.list()` / `revoke()`, `useAccountAgentsQueryOptions`, `useRevokeAccountAgentMutationOptions`.
50
+ - Peers: `react` / `react-dom` `^19.0.0`, `@inertiajs/react` `^2.0.0 || ^3.0.0`.
51
+
52
+ - `useProfile`, `useSessions`, `useAuthorizedApps`, `useOrganizations`, `useOrganization`, `useOrgInvitations`, `useSwitchOrganization` and their types are removed, with the `profile`, `sessions`, `apps`, `orgs` and `orgInvitations` keys of `endpoints`. Use the query options (`useMeQueryOptions`, `useAccountSessionsQueryOptions`, `useAppsQueryOptions`, `useAccountOrgsQueryOptions`, …).
53
+ - `UserProfile`, `AuthorizedApps`, `OrganizationSwitcher` and `OrganizationProfile` need `QueryClientProvider` and `AuthkitClientProvider`.
54
+
55
+ All packages:
56
+
57
+ - `@adonis-agora/*` peer ranges accept 1.x and its release candidates (`<2.0.0 || >=1.0.0-rc.0 <2.0.0`): `durable`, `media`, `telescope` (authkit-server), `resilience` (authkit-client), `authkit-server` (authkit-sdk).
58
+ - Node.js `>=24` is required (tested on 24 and 26).
59
+
60
+ ## 0.10.1
61
+
62
+ ### Patch Changes
63
+
64
+ - [#361](https://github.com/DavideCarvalho/adonis-agora-authkit/pull/361) [`1b9c90c`](https://github.com/DavideCarvalho/adonis-agora-authkit/commit/1b9c90ced4356d2c754e850e307954455ddeeb3a) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Declare `"sideEffects": false` so bundlers can tree-shake the package in client bundles. It has no module-level side effects.
65
+
66
+ ## 0.10.0
67
+
68
+ ### Minor Changes
69
+
70
+ - [#269](https://github.com/DavideCarvalho/adonis-agora-authkit/pull/269) [`b0ca480`](https://github.com/DavideCarvalho/adonis-agora-authkit/commit/b0ca4802419aba93a9f913775f697cc4075cff88) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - Drop Node 20, which reached end-of-life on 2026-04-30, and Node 22, which AdonisJS 7 does not support (it requires Node >=24): `engines.node` is now `>=24`. The supported Node lines are 24 and 26, and CI runs the test suite on each of them.
71
+
72
+ ## 0.9.0
73
+
74
+ ### Minor Changes
75
+
76
+ - [#233](https://github.com/DavideCarvalho/adonis-agora-authkit/pull/233) [`94644e6`](https://github.com/DavideCarvalho/adonis-agora-authkit/commit/94644e6b1d8d10e0fd3c4b57706cce46b70412cb) Thanks [@DavideCarvalho](https://github.com/DavideCarvalho)! - `applicationType?: 'web' | 'native'` nos tipos de client
77
+
78
+ `ClientConfig` (core) e `AdminClient`/`CreateClientInput` (react) ganham o campo opcional
79
+ `applicationType`, para os clientes nativos (RFC 8252) do `@adonis-agora/authkit-server`.
80
+
81
+ ## 0.8.0
82
+
83
+ ### Minor Changes
84
+
85
+ - 813a321: Multi-tenancy: `orgId` de primeira classe no evento, `orgId`/`orgSlug`/`orgRole` na `Identity`, e o middleware `requireOrg`
86
+
87
+ Três buracos no caminho de multi-tenancy por organização, achados ao seguir o
88
+ fluxo inteiro (org criada → claim → contexto → RBAC escopado):
89
+
90
+ **1. O barramento de diagnostics não dizia QUAL org.** `redactAuditEventForDiagnostics`
91
+ dropa `metadata` inteiro por LGPD (é campo livre e carrega PII — o e-mail do
92
+ convidado, por exemplo). Só que o `orgId` dos eventos de organização vivia
93
+ justamente ali. Resultado: um assinante de `agora:authkit:organization.created`
94
+ — o provisioning do `@adonis-agora/authz`, entre outros — recebia o tipo do
95
+ evento e nada mais, o que torna o hook inútil na prática. Além disso o
96
+ `organization.created` self-service auditava só `{ slug }`, sem id nenhum.
97
+
98
+ `orgId` agora é campo de primeira classe do `AuditEvent`, preenchido nos 15
99
+ call-sites de eventos de organização (`organization.deactivated` não tem org, é
100
+ a limpeza), preservado na projeção de diagnostics junto dos demais ids opacos
101
+ (`accountId`/`actorId`/`clientId`) e incluído no corpo do webhook. A redação de
102
+ PII continua intacta: `email`, `ip` e `metadata` seguem fora do barramento.
103
+
104
+ **2. A `Identity` não expunha a org.** O tenant ativo só existia em
105
+ `identity.raw.org_id`, sem tipo, e cada app reescrevia a derivação. Agora
106
+ `identity.orgId`, `identity.orgSlug` e `identity.orgRole` são campos da
107
+ `Identity`, preenchidos por `buildIdentityFromClaims` (portanto nos três
108
+ resolvers: jwt, pat e opaque). A tabela de claims aceitas — que já existia
109
+ duplicada dentro da ponte de contexto — virou `ORG_ID_CLAIMS` +
110
+ `deriveOrgId`/`deriveOrgSlug`/`deriveOrgRole` no `authkit-core`, e a ponte
111
+ passou a consumi-la. Os aliases de IdPs de terceiros (`tid`,
112
+ `organization_id`, `tenant_id`, `active_organization_id`) continuam valendo,
113
+ agora num lugar só.
114
+
115
+ **3. Não havia como exigir org ativa.** `RequireOrgMiddleware`
116
+ (`@adonis-agora/authkit-client/require_org_middleware`) barra request
117
+ autenticada mas sem tenant. Isso importa porque "logado" e "dentro de um
118
+ tenant" são coisas distintas: sem a barreira, a request chega no controller com
119
+ tenant indefinido e a checagem escopada do authz cai no escopo GLOBAL — o pior
120
+ lugar para se cair por acidente. Fail-closed, com `mode: 'api'` (403
121
+ `no_active_organization` em vez de redirect) e `oneOf` para restringir a um
122
+ conjunto conhecido de orgs.
123
+
124
+ ## 0.7.1
125
+
126
+ ### Patch Changes
127
+
128
+ - 1f15367: Point `homepage` and `bugs.url` at the repository's current name.
129
+
130
+ The repository was renamed to `adonis-agora-authkit`; `repository.url` followed,
131
+ `homepage` and `bugs.url` did not. Every package therefore shipped a manifest
132
+ that disagreed with itself, and the "Repository"/"Homepage" links on npm leaned
133
+ on GitHub's rename redirect — which lasts only until someone claims the old
134
+ name. All three fields now name the same repository.
135
+
136
+ ## 0.7.0
137
+
138
+ ### Minor Changes
139
+
140
+ - 0542665: Re-scope to @adonis-agora/authkit-\* (join the Agora ecosystem)
141
+
142
+ ## 0.6.0
143
+
144
+ ### Minor Changes
145
+
146
+ - 93eaf69: feat: cofre do keystore JWKS no HashiCorp Vault (KV v2). Novo driver
147
+ `{ driver: 'hashicorp-vault', endpoint, path, token?, mount?, field? }` — usa a API
148
+ HTTP do Vault (sem SDK), então mora em core como file/drive/lucid/redis. Encryption
149
+ at-rest fica OFF por default (o Vault tem cifra/ACL próprios; ligável p/ envelope).
150
+ - e2582b8: feat: cofres do keystore JWKS em Lucid e Redis. Novos drivers `jwks.store`:
151
+ `{ driver: 'lucid' }` (tabela dedicada `authkit_keystore`, auto-criada) e
152
+ `{ driver: 'redis' }` (uma key). Diferente de `file`, ambos são COMPARTILHADOS entre
153
+ instâncias — o melhor default para multi-instância + hot-reload (o poll lê um `head`
154
+ barato). Encryption at-rest (APP_KEY) ON por default nos dois. Warning no boot quando
155
+ `redis` é usado (exige persistência RDB/AOF). `resolveKeystoreVault` agora recebe um
156
+ contexto com acesso ao container (mudança de assinatura interna).
157
+
158
+ ## 0.5.0
159
+
160
+ ### Minor Changes
161
+
162
+ - df4b41f: feat: keystore JWKS managed com cofre pluggável + encryption at-rest (Fatia A+B)
163
+
164
+ O keystore managed deixa de ser fs-síncrono-num-path e passa por uma abstração de
165
+ cofre (`KeystoreVault`): `file` (default) e `drive` (`@adonisjs/drive`, bucket), com
166
+ contrato para cofres custom. O keystore PRIVADO agora é encriptado em repouso por
167
+ default (APP_KEY) para file/drive via um envelope versionado; decrypt falho lança
168
+ (nunca regenera em silêncio). O boot e o comando `authkit:keys:rotate` usam o mesmo
169
+ stack (defaults de encryption idênticos). Novidades: aviso no boot quando
170
+ `jwks: 'auto'` cai no fallback de disco, e idade da chave de assinatura no
171
+ `authkit:doctor`. Config: `jwks.store` aceita `{ driver: 'file' | 'drive' | ... }`
172
+ além de string, e novo `jwks.encrypt`.
173
+
174
+ Nota (0.x): sem migração de keystore legado — um `tmp/authkit_jwks.json` plaintext
175
+ pré-existente deve ser apagado uma vez (regenera encriptado).
176
+
177
+ ## 0.4.0
178
+
179
+ ### Minor Changes
180
+
181
+ - Breaking cleanup (0.x, no external consumers): every deprecation shim is gone.
182
+ - Policy now lives ONLY in runtime settings (DB) with library defaults — removed from config: static `clients`, lockout policy fields (`store` stays), rate-limit buckets (`enabled`/`store` stay), `notifications`, trusted-devices `enabled`/`days`, `admin.impersonation`, organizations `roles`/`allowSelfCreate`/`invitationTtlHours`, and `password.policy`/`password.checkPwned` store options (`legacyVerifier`/`pepper`/`pwnedTimeoutMs` stay — they are code/infra).
183
+ - Removed commands `authkit:clients:import` and the legacy `authkit:rotate-keys` alias. New `authkit:clients:create` creates OIDC clients programmatically through the configured storage (confidential secret printed once; `--public`, repeatable `--redirect-uri`/`--grant`, `--json`).
184
+ - Removed the no-op `passthroughParsed` option from `jsonColumn` and the `checkLegacyPolicyConfig` doctor check.
185
+
186
+ ## 0.3.1
187
+
188
+ ### Patch Changes
189
+
190
+ - Runtime-first administration:
191
+ - **Three new runtime toggles** (auth_settings-backed, with admin console cards showing effective state): `registration` (open/close self-service signup without affecting org invites or admin-created users; static fallback `registration.enabled`), `require_verified_email` (overrides `login.requireVerifiedEmail` across password/magic-link/passkey flows), and `maintenance_mode` (`{ enabled, message? }` — blocks login/signup/forgot for non-admins with a maintenance page while admin accounts keep logging in; userinfo/introspection/existing sessions keep working; the Admin API is never blocked, providing a guaranteed escape hatch). Audit events `maintenance.enabled`/`maintenance.disabled`.
192
+ - **Clients are now managed at runtime** (admin console + Admin REST API are the canonical path): the static `clients` config field is optional and deprecated (boot warning, doctor warning, console banner). New `authkit:clients:import` ace command (`--dry-run`) migrates config clients to the adapter preserving secrets and skipping existing ones. Booting with zero configured clients is fully supported. New doctor check warns when clients live in a volatile adapter. Backchannel logout URI/session-required are now editable via console and API.
193
+
194
+ ## 0.3.0
195
+
196
+ ### Minor Changes
197
+
198
+ - Round 7 — production pack + multi-tenancy:
199
+ - **Organizations (multi-tenancy)**: optional capability-probed tables (`auth_organizations`, `auth_organization_members`, `auth_organization_invitations`), per-org roles (owner/admin/member), email invitations with hashed tokens, active-org session cookie with `org_id`/`org_slug`/`org_role` claims in id_token/userinfo/JWT access tokens, `/account/orgs` page, admin console section, Admin REST API (`/api/authkit/v1/organizations`), SDK `organizations.*` namespace (remote + embedded), React `useOrganizations`/`useOrganization`/`useSwitchOrganization`/`useOrgInvitations` hooks plus `<OrganizationSwitcher />` and `<OrganizationProfile />` components.
200
+ - **LGPD/GDPR compliance**: self-service and admin account deletion with full cascade (sessions, grants, PATs, passkeys, identities, MFA, avatar) and audit anonymization (stable pseudonym), data export endpoint (`GET /account/security/export`), `login.requireVerifiedEmail` gate across password/magic-link/passkey flows, SDK `users.delete()`.
201
+ - **User migration & password hygiene**: transparent lazy password rehash on login, `password.legacyVerifier` hook for foreign hash formats, `authkit:users:import` ace command (JSON/NDJSON, `--dry-run`), configurable `password.policy`, HaveIBeenPwned k-anonymity breach check (fail-safe), React `usePasswordStrength` + `<PasswordStrengthMeter />`.
202
+ - **JWT access tokens (RFC 9068)**: `accessTokens: { format: 'jwt' }` with per-resource overrides, `verifyJwtAccessToken` local validation in the client package, `authkit:keys:rotate` command with grace-period JWKS rotation.
203
+ - **Bot protection**: pluggable vendor-agnostic `botProtection` config (Turnstile/hCaptcha-ready, fail-safe) on login/signup/reset.
204
+ - **New-device login notification**: `notifications.newDeviceEmail` + `mail.onNewDeviceLogin` hook driven by the trusted-device signal.
205
+ - **Console polish**: session context (user-agent/OS/IP/geo via pluggable `resolveGeo`), RFC 8693 impersonation panel (`admin.impersonation`, default off), dashboard with MAU/daily sign-ins, `GET /api/authkit/v1/stats` + SDK `stats()`.
206
+
207
+ ## 0.2.0
208
+
209
+ ### Minor Changes
210
+
211
+ - 1872a30: DX & ops infra:
212
+ - New package `@adonis-agora/authkit-testing` — test helpers for host apps:
213
+ `createTestIdentity`, `mintTestIdToken` + `serveJwks`/`testJwks`/`jwksFromKey`
214
+ (real RS256 tokens validated by a local JWKS), `fakeAuthenticator`, and a
215
+ capability-aware `fakeAccountStore`.
216
+ - `node ace authkit:doctor` — validates host config and prints ✅/⚠️/❌ findings
217
+ (issuer/mountPath, clients, accountStore capabilities, session, shield, ally,
218
+ rate-limit, admin, webauthn, jwks). Non-zero exit on errors.
219
+ - `node ace authkit:rotate-keys` — rotates managed JWKS signing keys via a new
220
+ file-backed keystore (`jwks: { source: 'managed', store }`), keeping the last
221
+ N public keys so pre-rotation tokens still verify.
package/build/index.d.ts CHANGED
@@ -4,4 +4,4 @@ export type { MetricsRecorder, MetricsSnapshot } from './src/metrics_recorder.js
4
4
  export { InMemorySnapshot, NoopRecorder } from './src/metrics_recorder.js';
5
5
  export type { Identity, SessionResolver } from './src/types/identity.js';
6
6
  export { deriveOrgId, deriveOrgRole, deriveOrgSlug, ORG_ID_CLAIMS, } from './src/types/identity.js';
7
- export type { AccessTokenFormat, AccessTokenResourceConfig, AccessTokensConfig, ClientConfig, JwksConfig, KeystoreStoreConfig, ObservabilityConfig, ResolvedAuthServerConfig, TtlConfig, } from './src/types/server_config.js';
7
+ export type { AccessTokenFormat, AccessTokenResourceConfig, AccessTokensConfig, JwksConfig, KeystoreStoreConfig, ObservabilityConfig, ResolvedAuthServerConfig, TtlConfig, } from './src/types/server_config.js';
@@ -1,36 +1,3 @@
1
- /**
2
- * Client OIDC persistido no adapter/DB, gerenciável via console admin ou Admin API
3
- * em runtime. Usado internamente pela lib para representar clients em memória.
4
- */
5
- export interface ClientConfig {
6
- clientId: string;
7
- clientSecret?: string;
8
- redirectUris: string[];
9
- postLogoutRedirectUris?: string[];
10
- grants?: string[];
11
- /** 'none' para public clients (SPA com PKCE) */
12
- tokenEndpointAuthMethod?: 'client_secret_basic' | 'client_secret_post' | 'none';
13
- /**
14
- * Tipo de aplicação (OIDC Registration §2, `application_type`). Default `'web'`.
15
- *
16
- * `'native'` (RFC 8252 — OAuth 2.0 for Native Apps) libera os redirects de app
17
- * mobile/desktop: esquema privado (`com.example.app:/callback`), URL https
18
- * "claimed" (universal/app links) e loopback `http://127.0.0.1` com qualquer
19
- * porta. Client nativo é SEMPRE público (sem `clientSecret`,
20
- * `tokenEndpointAuthMethod: 'none'`) — PKCE já é obrigatório no issuer.
21
- */
22
- applicationType?: 'web' | 'native';
23
- /**
24
- * Endpoint do RP que recebe o POST de OIDC Back-Channel Logout. Quando definido,
25
- * o IdP envia um `logout_token` para esta URI ao encerrar a sessão/grant do usuário.
26
- */
27
- backchannelLogoutUri?: string;
28
- /**
29
- * Exige que o `logout_token` inclua a claim `sid` (session id). Mapeado para
30
- * `backchannel_logout_session_required` do oidc-provider. Default: false.
31
- */
32
- backchannelLogoutSessionRequired?: boolean;
33
- }
34
1
  export interface TtlConfig {
35
2
  accessToken?: string | number;
36
3
  refreshToken?: string | number;
@@ -146,7 +113,6 @@ export interface AccessTokensConfig {
146
113
  /** Forma normalizada do config do server (pós-`defineConfig`). */
147
114
  export interface ResolvedAuthServerConfig {
148
115
  issuer: string;
149
- clients: ClientConfig[];
150
116
  ttl: Required<TtlConfig>;
151
117
  jwks: JwksConfig;
152
118
  globalRolesClaim: string;
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@adonis-agora/authkit-core",
3
- "version": "0.10.1",
3
+ "version": "1.0.0-rc.0",
4
4
  "description": "Shared core types and utilities for AuthKit — the AdonisJS OIDC/OAuth2 server and client toolkits.",
5
5
  "license": "MIT",
6
6
  "author": "dudousxd",
7
7
  "repository": {
8
8
  "type": "git",
9
- "url": "https://github.com/DavideCarvalho/adonis-agora-authkit.git",
9
+ "url": "git+https://github.com/DavideCarvalho/adonis-agora-authkit.git",
10
10
  "directory": "packages/authkit-core"
11
11
  },
12
12
  "homepage": "https://davidecarvalho.github.io/agora/docs/authkit",
@@ -28,7 +28,8 @@
28
28
  "main": "./build/index.js",
29
29
  "types": "./build/index.d.ts",
30
30
  "files": [
31
- "build"
31
+ "build",
32
+ "CHANGELOG.md"
32
33
  ],
33
34
  "exports": {
34
35
  ".": "./build/index.js",
@@ -43,7 +44,7 @@
43
44
  "@adonisjs/tsconfig": "2.0.0",
44
45
  "@japa/assert": "4.2.0",
45
46
  "@japa/runner": "5.4.0",
46
- "@poppinss/ts-exec": "1.5.1",
47
+ "@poppinss/ts-exec": "1.5.2",
47
48
  "@types/node": "26.6.5",
48
49
  "typescript": "7.0.2"
49
50
  },