@tinyrack/tinyauth-server 0.0.15 → 0.1.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/dist/entrypoints/app.d.ts +49 -2
- package/dist/entrypoints/app.d.ts.map +1 -1
- package/dist/entrypoints/app.js +5 -0
- package/dist/entrypoints/app.js.map +1 -1
- package/dist/entrypoints/database/postgres/postgres.d.ts.map +1 -1
- package/dist/entrypoints/database/postgres/postgres.js +1 -0
- package/dist/entrypoints/database/postgres/postgres.js.map +1 -1
- package/dist/entrypoints/database/sqlite/sqlite.d.ts.map +1 -1
- package/dist/entrypoints/database/sqlite/sqlite.js +1 -0
- package/dist/entrypoints/database/sqlite/sqlite.js.map +1 -1
- package/dist/entrypoints/identity-providers/apple.d.ts +1 -0
- package/dist/entrypoints/identity-providers/apple.d.ts.map +1 -1
- package/dist/entrypoints/identity-providers/apple.js +1 -0
- package/dist/entrypoints/identity-providers/apple.js.map +1 -1
- package/dist/entrypoints/identity-providers/generic-oauth.d.ts +2 -0
- package/dist/entrypoints/identity-providers/generic-oauth.d.ts.map +1 -1
- package/dist/entrypoints/identity-providers/generic-oauth.js +2 -0
- package/dist/entrypoints/identity-providers/generic-oauth.js.map +1 -1
- package/dist/lib/config/client.d.ts.map +1 -1
- package/dist/lib/config/client.js +5 -1
- package/dist/lib/config/client.js.map +1 -1
- package/dist/lib/config/identity-providers.d.ts +4 -0
- package/dist/lib/config/identity-providers.d.ts.map +1 -1
- package/dist/lib/config/identity-providers.js +25 -8
- package/dist/lib/config/identity-providers.js.map +1 -1
- package/dist/lib/config/resolved.d.ts +2 -0
- package/dist/lib/config/resolved.d.ts.map +1 -1
- package/dist/lib/config/url-policy.d.ts +4 -0
- package/dist/lib/config/url-policy.d.ts.map +1 -0
- package/dist/lib/config/url-policy.js +38 -0
- package/dist/lib/config/url-policy.js.map +1 -0
- package/dist/lib/pkce.d.ts.map +1 -1
- package/dist/lib/pkce.js +8 -1
- package/dist/lib/pkce.js.map +1 -1
- package/dist/middleware/csrf.d.ts +2 -0
- package/dist/middleware/csrf.d.ts.map +1 -0
- package/dist/middleware/csrf.js +51 -0
- package/dist/middleware/csrf.js.map +1 -0
- package/dist/middleware/session.d.ts.map +1 -1
- package/dist/middleware/session.js +2 -0
- package/dist/middleware/session.js.map +1 -1
- package/dist/repositories/revoked-token.repository.d.ts +20 -0
- package/dist/repositories/revoked-token.repository.d.ts.map +1 -1
- package/dist/repositories/revoked-token.repository.js +44 -1
- package/dist/repositories/revoked-token.repository.js.map +1 -1
- package/dist/routes/api/auth/passkey/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/passkey/verify/post.js +1 -1
- package/dist/routes/api/auth/passkey/verify/post.js.map +1 -1
- package/dist/routes/api/index.d.ts +38 -0
- package/dist/routes/api/index.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/authorize/get.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/authorize/get.js +13 -1
- package/dist/routes/api/oauth/_provider/authorize/get.js.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/get.d.ts +19 -0
- package/dist/routes/api/oauth/_provider/callback/get.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/get.js +19 -10
- package/dist/routes/api/oauth/_provider/callback/get.js.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/post.d.ts +19 -0
- package/dist/routes/api/oauth/_provider/callback/post.d.ts.map +1 -1
- package/dist/routes/api/oauth/_provider/callback/post.js +49 -11
- package/dist/routes/api/oauth/_provider/callback/post.js.map +1 -1
- package/dist/routes/api/oauth/index.d.ts +38 -0
- package/dist/routes/api/oauth/index.d.ts.map +1 -1
- package/dist/routes/index.d.ts +47 -2
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts +4 -0
- package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts.map +1 -1
- package/dist/routes/oauth/.well-known/openid-configuration/get.js +25 -2
- package/dist/routes/oauth/.well-known/openid-configuration/get.js.map +1 -1
- package/dist/routes/oauth/authorize/get.d.ts +2 -0
- package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
- package/dist/routes/oauth/authorize/get.js +4 -0
- package/dist/routes/oauth/authorize/get.js.map +1 -1
- package/dist/routes/oauth/client-auth.d.ts +10 -0
- package/dist/routes/oauth/client-auth.d.ts.map +1 -0
- package/dist/routes/oauth/client-auth.js +57 -0
- package/dist/routes/oauth/client-auth.js.map +1 -0
- package/dist/routes/oauth/index.d.ts +9 -2
- package/dist/routes/oauth/index.d.ts.map +1 -1
- package/dist/routes/oauth/introspect/post.d.ts +1 -0
- package/dist/routes/oauth/introspect/post.d.ts.map +1 -1
- package/dist/routes/oauth/introspect/post.js +36 -12
- package/dist/routes/oauth/introspect/post.js.map +1 -1
- package/dist/routes/oauth/revoke/post.d.ts.map +1 -1
- package/dist/routes/oauth/revoke/post.js +30 -12
- package/dist/routes/oauth/revoke/post.js.map +1 -1
- package/dist/routes/oauth/token/post.d.ts +2 -2
- package/dist/routes/oauth/token/post.d.ts.map +1 -1
- package/dist/routes/oauth/token/post.js +32 -9
- package/dist/routes/oauth/token/post.js.map +1 -1
- package/dist/routes/oauth/userinfo/get.d.ts.map +1 -1
- package/dist/routes/oauth/userinfo/get.js +3 -0
- package/dist/routes/oauth/userinfo/get.js.map +1 -1
- package/dist/schemas/error.d.ts +75 -0
- package/dist/schemas/error.d.ts.map +1 -1
- package/dist/schemas/error.js +3 -0
- package/dist/schemas/error.js.map +1 -1
- package/dist/schemas/field.d.ts +1 -6
- package/dist/schemas/field.d.ts.map +1 -1
- package/dist/schemas/field.js +6 -3
- package/dist/schemas/field.js.map +1 -1
- package/dist/schemas/oauth.d.ts +1 -1
- package/dist/schemas/oauth.js +1 -1
- package/dist/schemas/oauth.js.map +1 -1
- package/dist/schemas/response.d.ts +1 -1
- package/dist/services/container.d.ts +2 -0
- package/dist/services/container.d.ts.map +1 -1
- package/dist/services/jwt.service.d.ts +6 -0
- package/dist/services/jwt.service.d.ts.map +1 -1
- package/dist/services/jwt.service.js +60 -34
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/oauth-authorize.service.d.ts +5 -0
- package/dist/services/oauth-authorize.service.d.ts.map +1 -1
- package/dist/services/oauth-authorize.service.js +67 -9
- package/dist/services/oauth-authorize.service.js.map +1 -1
- package/dist/services/oauth-client.service.d.ts +3 -0
- package/dist/services/oauth-client.service.d.ts.map +1 -1
- package/dist/services/oauth-client.service.js +31 -0
- package/dist/services/oauth-client.service.js.map +1 -1
- package/dist/services/oauth-connect.service.d.ts +6 -8
- package/dist/services/oauth-connect.service.d.ts.map +1 -1
- package/dist/services/oauth-connect.service.js +158 -20
- package/dist/services/oauth-connect.service.js.map +1 -1
- package/dist/services/oauth-token.service.d.ts +11 -3
- package/dist/services/oauth-token.service.d.ts.map +1 -1
- package/dist/services/oauth-token.service.js +153 -50
- package/dist/services/oauth-token.service.js.map +1 -1
- package/dist/services/passkey.service.d.ts +1 -1
- package/dist/services/passkey.service.d.ts.map +1 -1
- package/dist/services/passkey.service.js +11 -3
- package/dist/services/passkey.service.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/{index-KMvNrUPy.js → index-DaJe6s9D.js} +26 -26
- package/public/assets/{index-KMvNrUPy.js.map → index-DaJe6s9D.js.map} +1 -1
- package/public/index.html +1 -1
- package/readme.md +74 -25
|
@@ -1,19 +1,56 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { createRemoteJWKSet, jwtVerify } from 'jose';
|
|
2
2
|
import z from 'zod';
|
|
3
3
|
import { isEmailAllowed } from "../lib/email-pattern.js";
|
|
4
4
|
import { generatePKCE } from "../lib/pkce.js";
|
|
5
5
|
import { e, TinyAuthError } from "../schemas/error.js";
|
|
6
|
+
function parseEmailVerified(value) {
|
|
7
|
+
if (typeof value === 'boolean') {
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
if (typeof value === 'string') {
|
|
11
|
+
const normalized = value.trim().toLowerCase();
|
|
12
|
+
return normalized === 'true';
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
}
|
|
16
|
+
function getMappedValue(data, path) {
|
|
17
|
+
let value = data;
|
|
18
|
+
for (const segment of path.split('.')) {
|
|
19
|
+
const object = z.record(z.string(), z.unknown()).safeParse(value);
|
|
20
|
+
if (!object.success) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
value = object.data[segment];
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}
|
|
27
|
+
function getMappedString(data, path) {
|
|
28
|
+
const value = getMappedValue(data, path);
|
|
29
|
+
if (value === undefined || value === null) {
|
|
30
|
+
return '';
|
|
31
|
+
}
|
|
32
|
+
return String(value);
|
|
33
|
+
}
|
|
6
34
|
/**
|
|
7
35
|
* Token response from OAuth provider
|
|
8
36
|
* Standard OAuth 2.0 token response structure
|
|
9
37
|
*/
|
|
38
|
+
const OAuthTokenTypeSchema = z
|
|
39
|
+
.string()
|
|
40
|
+
.refine((value) => value.toLowerCase() === 'bearer')
|
|
41
|
+
.transform(() => 'Bearer');
|
|
10
42
|
const OAuthTokensSchema = z.object({
|
|
11
43
|
access_token: z.string(),
|
|
12
44
|
refresh_token: z.string().optional(),
|
|
13
45
|
expires_in: z.number().optional(),
|
|
14
|
-
token_type:
|
|
46
|
+
token_type: OAuthTokenTypeSchema,
|
|
15
47
|
id_token: z.string().optional(),
|
|
16
48
|
});
|
|
49
|
+
const GitHubEmailResponseSchema = z.array(z.object({
|
|
50
|
+
email: z.string().email(),
|
|
51
|
+
primary: z.boolean(),
|
|
52
|
+
verified: z.boolean(),
|
|
53
|
+
}));
|
|
17
54
|
// Note: This service uses fastify.config for identity_providers (OAuth providers config)
|
|
18
55
|
// but user-related config lookups have been removed since users are now synced to DB.
|
|
19
56
|
export class OAuthConnectService {
|
|
@@ -220,9 +257,13 @@ export class OAuthConnectService {
|
|
|
220
257
|
if (!response.ok) {
|
|
221
258
|
throw new e.OAuthTokenExchangeFailed.Error();
|
|
222
259
|
}
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
260
|
+
try {
|
|
261
|
+
const json = await response.json();
|
|
262
|
+
return OAuthTokensSchema.parse(json);
|
|
263
|
+
}
|
|
264
|
+
catch {
|
|
265
|
+
throw new e.OAuthTokenExchangeFailed.Error();
|
|
266
|
+
}
|
|
226
267
|
}
|
|
227
268
|
/**
|
|
228
269
|
* Fetch user info from OAuth provider.
|
|
@@ -243,21 +284,118 @@ export class OAuthConnectService {
|
|
|
243
284
|
if (!response.ok) {
|
|
244
285
|
throw new e.OAuthUserInfoFailed.Error();
|
|
245
286
|
}
|
|
246
|
-
|
|
247
|
-
|
|
287
|
+
try {
|
|
288
|
+
const json = await response.json();
|
|
289
|
+
const data = z.record(z.string(), z.unknown()).parse(json);
|
|
290
|
+
const userInfoData = await this.addGitHubEmailFromEmailEndpoint(provider, data, accessToken);
|
|
291
|
+
return this.mapUserInfo(provider, userInfoData);
|
|
292
|
+
}
|
|
293
|
+
catch {
|
|
294
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
async addGitHubEmailFromEmailEndpoint(provider, data, accessToken) {
|
|
298
|
+
if (provider.type !== 'github') {
|
|
299
|
+
return data;
|
|
300
|
+
}
|
|
301
|
+
const mappedEmail = getMappedString(data, provider.userinfo_mapping.email);
|
|
302
|
+
if (mappedEmail) {
|
|
303
|
+
return data;
|
|
304
|
+
}
|
|
305
|
+
if (!provider.email_url) {
|
|
306
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
307
|
+
}
|
|
308
|
+
const response = await fetch(provider.email_url, {
|
|
309
|
+
headers: {
|
|
310
|
+
Authorization: `Bearer ${accessToken}`,
|
|
311
|
+
Accept: 'application/json',
|
|
312
|
+
},
|
|
313
|
+
});
|
|
314
|
+
if (!response.ok) {
|
|
315
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
316
|
+
}
|
|
317
|
+
const emails = GitHubEmailResponseSchema.parse(await response.json());
|
|
318
|
+
const primaryVerifiedEmail = emails.find((email) => email.primary && email.verified);
|
|
319
|
+
if (!primaryVerifiedEmail) {
|
|
320
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
321
|
+
}
|
|
322
|
+
return {
|
|
323
|
+
...data,
|
|
324
|
+
[provider.userinfo_mapping.email]: primaryVerifiedEmail.email,
|
|
325
|
+
};
|
|
248
326
|
}
|
|
249
327
|
/**
|
|
250
|
-
* Extract user info from an ID token JWT
|
|
251
|
-
* Decodes without verification since the token was received directly
|
|
252
|
-
* from the provider's token endpoint over TLS.
|
|
328
|
+
* Extract user info from an ID token JWT for providers with trusted JWKS.
|
|
253
329
|
*/
|
|
254
|
-
extractUserInfoFromIdToken(provider, idToken) {
|
|
330
|
+
async extractUserInfoFromIdToken(provider, idToken) {
|
|
255
331
|
if (!idToken) {
|
|
256
332
|
throw new e.OAuthUserInfoFailed.Error();
|
|
257
333
|
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
334
|
+
try {
|
|
335
|
+
const claims = provider.type === 'apple'
|
|
336
|
+
? await this.verifyAppleIdToken(provider, idToken)
|
|
337
|
+
: await this.verifyGenericIdToken(provider, idToken);
|
|
338
|
+
this.validateProviderIdTokenClaims(provider, claims);
|
|
339
|
+
return this.mapUserInfo(provider, claims);
|
|
340
|
+
}
|
|
341
|
+
catch {
|
|
342
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
async verifyAppleIdToken(provider, idToken) {
|
|
346
|
+
const jwksUrl = provider.jwks_url ?? 'https://appleid.apple.com/auth/keys';
|
|
347
|
+
const jwks = createRemoteJWKSet(new URL(jwksUrl));
|
|
348
|
+
const { payload } = await jwtVerify(idToken, jwks, {
|
|
349
|
+
issuer: 'https://appleid.apple.com',
|
|
350
|
+
audience: provider.client_id,
|
|
351
|
+
algorithms: ['RS256'],
|
|
352
|
+
});
|
|
353
|
+
const issuedAt = payload.iat;
|
|
354
|
+
if (issuedAt !== undefined && typeof issuedAt !== 'number') {
|
|
355
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
356
|
+
}
|
|
357
|
+
return payload;
|
|
358
|
+
}
|
|
359
|
+
async verifyGenericIdToken(provider, idToken) {
|
|
360
|
+
if (!provider.jwks_url) {
|
|
361
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
362
|
+
}
|
|
363
|
+
if (!provider.issuer) {
|
|
364
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
365
|
+
}
|
|
366
|
+
const jwks = createRemoteJWKSet(new URL(provider.jwks_url));
|
|
367
|
+
const { payload } = await jwtVerify(idToken, jwks, {
|
|
368
|
+
issuer: provider.issuer,
|
|
369
|
+
audience: provider.client_id,
|
|
370
|
+
});
|
|
371
|
+
return payload;
|
|
372
|
+
}
|
|
373
|
+
validateProviderIdTokenClaims(provider, claims) {
|
|
374
|
+
if (provider.type !== 'apple') {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
if (claims['iss'] !== 'https://appleid.apple.com') {
|
|
378
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
379
|
+
}
|
|
380
|
+
const audience = claims['aud'];
|
|
381
|
+
if (typeof audience === 'string') {
|
|
382
|
+
if (audience !== provider.client_id) {
|
|
383
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
384
|
+
}
|
|
385
|
+
}
|
|
386
|
+
else if (Array.isArray(audience)) {
|
|
387
|
+
const hasClientId = audience.some((value) => value === provider.client_id);
|
|
388
|
+
if (!hasClientId) {
|
|
389
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
394
|
+
}
|
|
395
|
+
const expiresAt = claims['exp'];
|
|
396
|
+
if (typeof expiresAt !== 'number' || expiresAt * 1000 <= Date.now()) {
|
|
397
|
+
throw new e.OAuthUserInfoFailed.Error();
|
|
398
|
+
}
|
|
261
399
|
}
|
|
262
400
|
/**
|
|
263
401
|
* Map provider-specific field names to normalized OAuthUserInfo
|
|
@@ -266,21 +404,21 @@ export class OAuthConnectService {
|
|
|
266
404
|
mapUserInfo(provider, data) {
|
|
267
405
|
const mapping = provider.userinfo_mapping;
|
|
268
406
|
// Extract user ID
|
|
269
|
-
const id =
|
|
407
|
+
const id = getMappedString(data, mapping.id);
|
|
270
408
|
if (!id) {
|
|
271
409
|
throw new e.OAuthUserInfoFailed.Error();
|
|
272
410
|
}
|
|
273
411
|
// Extract email
|
|
274
|
-
const email =
|
|
412
|
+
const email = getMappedString(data, mapping.email);
|
|
275
413
|
const emailVerified = mapping.email_verified
|
|
276
|
-
?
|
|
277
|
-
:
|
|
414
|
+
? parseEmailVerified(getMappedValue(data, mapping.email_verified))
|
|
415
|
+
: provider.type !== 'generic_oauth';
|
|
278
416
|
if (!email) {
|
|
279
417
|
throw new e.OAuthUserInfoFailed.Error();
|
|
280
418
|
}
|
|
281
|
-
const name = mapping.name ?
|
|
419
|
+
const name = mapping.name ? getMappedString(data, mapping.name) : undefined;
|
|
282
420
|
const picture = mapping.picture
|
|
283
|
-
?
|
|
421
|
+
? getMappedString(data, mapping.picture)
|
|
284
422
|
: undefined;
|
|
285
423
|
return {
|
|
286
424
|
id,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-connect.service.js","sourceRoot":"","sources":["../../src/services/oauth-connect.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"oauth-connect.service.js","sourceRoot":"","sources":["../../src/services/oauth-connect.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,6 +49,8 @@ export interface TokenIntrospectionResult {
|
|
|
49
49
|
sub?: string | undefined;
|
|
50
50
|
/** Issuer identifier (only if active) */
|
|
51
51
|
iss?: string | undefined;
|
|
52
|
+
/** Audience identifier (only if active) */
|
|
53
|
+
aud?: string | undefined;
|
|
52
54
|
}
|
|
53
55
|
/**
|
|
54
56
|
* OAuth 2.0 / OIDC token response (RFC 6749 §5.1)
|
|
@@ -63,7 +65,7 @@ export interface TokenResponse {
|
|
|
63
65
|
/** Access token lifetime in seconds */
|
|
64
66
|
expires_in: number;
|
|
65
67
|
/** Refresh token for obtaining new access tokens */
|
|
66
|
-
refresh_token
|
|
68
|
+
refresh_token?: string | undefined;
|
|
67
69
|
/** OpenID Connect ID Token (JWT format, only if openid scope requested) */
|
|
68
70
|
id_token?: string | undefined;
|
|
69
71
|
/** Space-separated list of granted scopes */
|
|
@@ -85,6 +87,7 @@ export declare class OAuthTokenService {
|
|
|
85
87
|
private readonly oauthClientService;
|
|
86
88
|
private readonly jwtService;
|
|
87
89
|
private readonly securityService;
|
|
90
|
+
private readonly refreshRotationLocks;
|
|
88
91
|
constructor(config: TinyAuthRuntimeConfig, mikro: MikroService, userService: UserService, oauthClientService: OAuthClientService, jwtService: JwtService, securityService: SecurityService);
|
|
89
92
|
/**
|
|
90
93
|
* Exchange authorization code for tokens
|
|
@@ -117,6 +120,7 @@ export declare class OAuthTokenService {
|
|
|
117
120
|
* @throws {ClientIdMismatch} - Client ID doesn't match original token request
|
|
118
121
|
*/
|
|
119
122
|
refreshAccessToken(params: RefreshTokenGrantParams): Promise<TokenResponse>;
|
|
123
|
+
private refreshAccessTokenLocked;
|
|
120
124
|
/**
|
|
121
125
|
* Introspect a token (access token or refresh token)
|
|
122
126
|
*
|
|
@@ -127,7 +131,7 @@ export declare class OAuthTokenService {
|
|
|
127
131
|
* @param tokenTypeHint - Hint about token type (access_token or refresh_token)
|
|
128
132
|
* @returns Token introspection result
|
|
129
133
|
*/
|
|
130
|
-
introspectToken(token: string, tokenTypeHint?: 'access_token' | 'refresh_token'): Promise<TokenIntrospectionResult>;
|
|
134
|
+
introspectToken(token: string, tokenTypeHint?: 'access_token' | 'refresh_token', requestingClientId?: string): Promise<TokenIntrospectionResult>;
|
|
131
135
|
/**
|
|
132
136
|
* Revoke a token (access token or refresh token)
|
|
133
137
|
*
|
|
@@ -139,7 +143,11 @@ export declare class OAuthTokenService {
|
|
|
139
143
|
* @param tokenTypeHint - Hint about token type (access_token or refresh_token)
|
|
140
144
|
* @returns void - Always succeeds per RFC 7009 §2.1
|
|
141
145
|
*/
|
|
142
|
-
revokeToken(token: string, tokenTypeHint?: 'access_token' | 'refresh_token'): Promise<void>;
|
|
146
|
+
revokeToken(token: string, tokenTypeHint?: 'access_token' | 'refresh_token', requestingClientId?: string): Promise<void>;
|
|
147
|
+
private withRefreshTokenRotationLock;
|
|
148
|
+
private revokeRefreshTokenFamilyIfReused;
|
|
149
|
+
private revokeRefreshTokenFamily;
|
|
150
|
+
private verifyTokenForRevocation;
|
|
143
151
|
/**
|
|
144
152
|
* Compute the at_hash claim value (OIDC Core 1.0 §3.1.3.6)
|
|
145
153
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth-token.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-token.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,KAAK,EAEV,UAAU,EAEX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IACpB,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAuB;IACtC,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,4CAA4C;IAC5C,MAAM,EAAE,OAAO,CAAC;IAChB,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,qCAAqC;IACrC,UAAU,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAClC,uDAAuD;IACvD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,sDAAsD;IACtD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B;IAC5B,UAAU,EAAE,QAAQ,CAAC;IACrB,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,aAAa,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth-token.service.d.ts","sourceRoot":"","sources":["../../src/services/oauth-token.service.ts"],"names":[],"mappings":"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"}
|