@adonis-agora/authkit-server 0.55.1 → 0.55.2
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.
|
@@ -44,8 +44,15 @@ export declare function startImpersonation(ctx: HttpContext, params: StartImpers
|
|
|
44
44
|
*/
|
|
45
45
|
export declare function impersonationState(ctx: HttpContext): ImpersonationState;
|
|
46
46
|
/**
|
|
47
|
-
* Encerra a impersonation: restaura `account_user_id = impersonator`,
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* Encerra a impersonation: restaura `account_user_id = impersonator`, remove a
|
|
48
|
+
* key de impersonation e regenera a sessão (anti-fixation). No-op quando não há
|
|
49
|
+
* impersonation ativa.
|
|
50
|
+
*
|
|
51
|
+
* O `admin_access_token` (a credencial do ADMIN usada como `subject_token` do
|
|
52
|
+
* token-exchange) é PRESERVADO: ele é do admin — não do alvo — e o admin segue
|
|
53
|
+
* logado após o stop. Removê-lo forçava um relogin a cada vez que o admin
|
|
54
|
+
* personificava, saía e tentava personificar de novo (No admin access token in
|
|
55
|
+
* session). O token segue curto (TTL do access token do RP) e o logout do app
|
|
56
|
+
* (`ctx.session.clear()` em `AuthRpController.logout`) continua limpando tudo.
|
|
50
57
|
*/
|
|
51
58
|
export declare function stopImpersonation(ctx: HttpContext): Promise<void>;
|
|
@@ -121,9 +121,16 @@ export function impersonationState(ctx) {
|
|
|
121
121
|
return { active: true, targetId, impersonatorId };
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
|
-
* Encerra a impersonation: restaura `account_user_id = impersonator`,
|
|
125
|
-
*
|
|
126
|
-
*
|
|
124
|
+
* Encerra a impersonation: restaura `account_user_id = impersonator`, remove a
|
|
125
|
+
* key de impersonation e regenera a sessão (anti-fixation). No-op quando não há
|
|
126
|
+
* impersonation ativa.
|
|
127
|
+
*
|
|
128
|
+
* O `admin_access_token` (a credencial do ADMIN usada como `subject_token` do
|
|
129
|
+
* token-exchange) é PRESERVADO: ele é do admin — não do alvo — e o admin segue
|
|
130
|
+
* logado após o stop. Removê-lo forçava um relogin a cada vez que o admin
|
|
131
|
+
* personificava, saía e tentava personificar de novo (No admin access token in
|
|
132
|
+
* session). O token segue curto (TTL do access token do RP) e o logout do app
|
|
133
|
+
* (`ctx.session.clear()` em `AuthRpController.logout`) continua limpando tudo.
|
|
127
134
|
*/
|
|
128
135
|
export async function stopImpersonation(ctx) {
|
|
129
136
|
const impersonatorId = ctx.session.get(IMPERSONATOR_SESSION_KEY);
|
|
@@ -139,5 +146,4 @@ export async function stopImpersonation(ctx) {
|
|
|
139
146
|
// confirmação dele, sobre a conta dele, dentro da janela dele.
|
|
140
147
|
ctx.session.put(ACCOUNT_SESSION_KEY, impersonatorId);
|
|
141
148
|
ctx.session.forget(IMPERSONATOR_SESSION_KEY);
|
|
142
|
-
ctx.session.forget(ADMIN_ACCESS_TOKEN_SESSION_KEY);
|
|
143
149
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@adonis-agora/authkit-server",
|
|
3
|
-
"version": "0.55.
|
|
3
|
+
"version": "0.55.2",
|
|
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",
|