@adonis-agora/authkit-server 0.64.0 → 0.65.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.
@@ -23,8 +23,15 @@ export declare const SESSION_SCOPED_MODELS: ReadonlySet<string>;
23
23
  */
24
24
  export declare function pickModelAdapterClass(model: string, defaultClass: OidcAdapterClass, sessionClass: OidcAdapterClass): OidcAdapterClass;
25
25
  export interface RedisAdapterConfig {
26
- /** nome da conexão do @adonisjs/redis */
27
- connection: string;
26
+ /**
27
+ * Nome da conexão do @adonisjs/redis. OPCIONAL: omitido, usa a connection
28
+ * DEFAULT do app (`config/redis.ts`, campo `connection`) — que é a mesma
29
+ * que a sessão do app usa. É o recomendado (e o único jeito sensato pra
30
+ * `session:`): as duas camadas de sessão no mesmo destino, sem como
31
+ * divergir por typo em string duplicada. Passe explícito só pra um Redis
32
+ * dedicado, sabendo o que está fazendo.
33
+ */
34
+ connection?: string;
28
35
  prefix?: string;
29
36
  }
30
37
  export interface DatabaseAdapterConfig {
@@ -35,9 +42,11 @@ export declare const adapters: {
35
42
  /**
36
43
  * Factory para o adapter Redis. O consumidor precisa ter o @adonisjs/redis
37
44
  * configurado, pois o resolver resolve o `RedisManager` pelo token `'redis'`
38
- * do container e obtém a conexão nomeada via `connection(name)`.
45
+ * do container e obtém a conexão — a nomeada em `connection`, ou a DEFAULT
46
+ * do app quando omitida (`manager.connection()`, que cai em
47
+ * `config/redis.ts#connection`).
39
48
  */
40
- redis(config: RedisAdapterConfig): AdapterFactory;
49
+ redis(config?: RedisAdapterConfig): AdapterFactory;
41
50
  /**
42
51
  * Factory para o adapter de banco (Lucid). Resolve o `Database` manager pelo
43
52
  * token `'lucid.db'`. O `DatabaseAdapter` consome o manager diretamente
@@ -39,13 +39,17 @@ export const adapters = {
39
39
  /**
40
40
  * Factory para o adapter Redis. O consumidor precisa ter o @adonisjs/redis
41
41
  * configurado, pois o resolver resolve o `RedisManager` pelo token `'redis'`
42
- * do container e obtém a conexão nomeada via `connection(name)`.
42
+ * do container e obtém a conexão — a nomeada em `connection`, ou a DEFAULT
43
+ * do app quando omitida (`manager.connection()`, que cai em
44
+ * `config/redis.ts#connection`).
43
45
  */
44
- redis(config) {
46
+ redis(config = {}) {
45
47
  return {
46
48
  async resolver(app) {
47
49
  const redisManager = await app.container.make('redis');
48
- const client = redisManager.connection(config.connection);
50
+ const client = config.connection
51
+ ? redisManager.connection(config.connection)
52
+ : redisManager.connection();
49
53
  const prefix = config.prefix ?? 'authkit';
50
54
  return class extends RedisAdapter {
51
55
  constructor(name) {
@@ -715,14 +715,14 @@ export interface AuthServerConfigInput {
715
715
  *
716
716
  * O split recomendado: sessão no Redis (efêmero, TTL nativo, mesmo destino
717
717
  * da sessão do app) e o resto no banco (durável — sem o `Client` nem a tela
718
- * de login abre). Mesma connection Redis pros dois níveis de sessão é a
719
- * recomendação (prefixos já namespaciam; destinos diferentes criam
720
- * meio-logado e dois domínios de falha no logout), mas a lib não trava isso.
718
+ * de login abre). No `session.adapter`, OMITA `connection`
719
+ * (`adapters.redis()` puro): cai na connection DEFAULT do app, a mesma da
720
+ * sessão do app — sem string duplicada pra divergir.
721
721
  *
722
722
  * ```ts
723
723
  * defineConfig({
724
724
  * adapter: adapters.database({ connection: 'auth' }),
725
- * session: { adapter: adapters.redis({ connection: 'main' }) },
725
+ * session: { adapter: adapters.redis() },
726
726
  * // ...
727
727
  * })
728
728
  * ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adonis-agora/authkit-server",
3
- "version": "0.64.0",
3
+ "version": "0.65.0",
4
4
  "description": "AdonisJS OIDC/OAuth2 provider (Identity Provider) toolkit: ejectable auth server with sessions, rate-limiting, MFA/TOTP, audit log, federated logout and OpenTelemetry metrics.",
5
5
  "license": "MIT",
6
6
  "author": "dudousxd",