@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
|
-
/**
|
|
27
|
-
|
|
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
|
|
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
|
|
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
|
|
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 =
|
|
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).
|
|
719
|
-
*
|
|
720
|
-
*
|
|
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(
|
|
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.
|
|
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",
|