react-native-nitro-auth 0.5.7 → 0.5.9
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 +33 -0
- package/README.md +295 -906
- package/android/src/main/java/com/auth/AuthAdapter.kt +22 -6
- package/cpp/HybridAuth.cpp +175 -39
- package/cpp/HybridAuth.hpp +2 -0
- package/ios/AuthAdapter.swift +2 -2
- package/lib/commonjs/Auth.web.js +141 -73
- package/lib/commonjs/Auth.web.js.map +1 -1
- package/lib/commonjs/create-auth-service.js +71 -0
- package/lib/commonjs/create-auth-service.js.map +1 -0
- package/lib/commonjs/service.js +2 -79
- package/lib/commonjs/service.js.map +1 -1
- package/lib/commonjs/service.web.js +2 -79
- package/lib/commonjs/service.web.js.map +1 -1
- package/lib/commonjs/use-auth.js +6 -3
- package/lib/commonjs/use-auth.js.map +1 -1
- package/lib/commonjs/utils/auth-error.js +8 -1
- package/lib/commonjs/utils/auth-error.js.map +1 -1
- package/lib/module/Auth.web.js +141 -73
- package/lib/module/Auth.web.js.map +1 -1
- package/lib/module/create-auth-service.js +67 -0
- package/lib/module/create-auth-service.js.map +1 -0
- package/lib/module/service.js +2 -79
- package/lib/module/service.js.map +1 -1
- package/lib/module/service.web.js +2 -79
- package/lib/module/service.web.js.map +1 -1
- package/lib/module/use-auth.js +6 -3
- package/lib/module/use-auth.js.map +1 -1
- package/lib/module/utils/auth-error.js +8 -1
- package/lib/module/utils/auth-error.js.map +1 -1
- package/lib/typescript/commonjs/Auth.web.d.ts +4 -2
- package/lib/typescript/commonjs/Auth.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/create-auth-service.d.ts +5 -0
- package/lib/typescript/commonjs/create-auth-service.d.ts.map +1 -0
- package/lib/typescript/commonjs/service.d.ts.map +1 -1
- package/lib/typescript/commonjs/service.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/use-auth.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/auth-error.d.ts.map +1 -1
- package/lib/typescript/module/Auth.web.d.ts +4 -2
- package/lib/typescript/module/Auth.web.d.ts.map +1 -1
- package/lib/typescript/module/create-auth-service.d.ts +5 -0
- package/lib/typescript/module/create-auth-service.d.ts.map +1 -0
- package/lib/typescript/module/service.d.ts.map +1 -1
- package/lib/typescript/module/service.web.d.ts.map +1 -1
- package/lib/typescript/module/use-auth.d.ts.map +1 -1
- package/lib/typescript/module/utils/auth-error.d.ts.map +1 -1
- package/package.json +12 -9
- package/react-native-nitro-auth.podspec +1 -0
- package/src/Auth.web.ts +261 -102
- package/src/create-auth-service.ts +97 -0
- package/src/service.ts +3 -101
- package/src/service.web.ts +3 -101
- package/src/use-auth.ts +7 -3
- package/src/utils/auth-error.ts +10 -1
package/lib/module/Auth.web.js
CHANGED
|
@@ -12,6 +12,8 @@ const STORAGE_MODE_MEMORY = "memory";
|
|
|
12
12
|
const POPUP_POLL_INTERVAL_MS = 100;
|
|
13
13
|
const POPUP_TIMEOUT_MS = 120000;
|
|
14
14
|
const WEB_STORAGE_MODES = new Set([STORAGE_MODE_SESSION, STORAGE_MODE_LOCAL, STORAGE_MODE_MEMORY]);
|
|
15
|
+
const WEB_AUTH_ERROR_CODES = new Set(["cancelled", "timeout", "popup_blocked", "network_error", "configuration_error", "not_signed_in", "operation_in_progress", "unsupported_provider", "invalid_state", "invalid_nonce", "token_error", "no_id_token", "parse_error", "refresh_failed", "unknown"]);
|
|
16
|
+
const JWT_BASE64_URL_RE = /^[A-Za-z0-9_-]+$/;
|
|
15
17
|
const inMemoryWebStorage = new Map();
|
|
16
18
|
let _appleSdkLoadPromise;
|
|
17
19
|
class AuthWebError extends Error {
|
|
@@ -29,7 +31,14 @@ const getOptionalString = (source, key) => {
|
|
|
29
31
|
};
|
|
30
32
|
const getOptionalNumber = (source, key) => {
|
|
31
33
|
const candidate = source[key];
|
|
32
|
-
return typeof candidate === "number" ? candidate : undefined;
|
|
34
|
+
return typeof candidate === "number" && Number.isFinite(candidate) ? candidate : undefined;
|
|
35
|
+
};
|
|
36
|
+
const parseExpiresInSeconds = value => {
|
|
37
|
+
const candidate = typeof value === "number" ? value : typeof value === "string" && value.trim().length > 0 ? Number(value) : undefined;
|
|
38
|
+
if (typeof candidate !== "number" || !Number.isFinite(candidate) || candidate < 0) {
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
return candidate;
|
|
33
42
|
};
|
|
34
43
|
const parseAuthUser = value => {
|
|
35
44
|
if (!isJsonObject(value) || !isAuthProvider(value.provider)) {
|
|
@@ -57,6 +66,7 @@ const parseScopes = value => {
|
|
|
57
66
|
}
|
|
58
67
|
return value.filter(scope => typeof scope === "string");
|
|
59
68
|
};
|
|
69
|
+
const isAuthErrorCode = value => WEB_AUTH_ERROR_CODES.has(value);
|
|
60
70
|
const parseAuthWebExtraConfig = value => {
|
|
61
71
|
if (!isJsonObject(value)) {
|
|
62
72
|
return {};
|
|
@@ -313,9 +323,25 @@ class AuthWeb {
|
|
|
313
323
|
};
|
|
314
324
|
}
|
|
315
325
|
notify() {
|
|
316
|
-
this._listeners
|
|
317
|
-
|
|
318
|
-
}
|
|
326
|
+
for (const listener of [...this._listeners]) {
|
|
327
|
+
listener(this._currentUser);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
notifyTokenListeners(tokens) {
|
|
331
|
+
for (const listener of [...this._tokenListeners]) {
|
|
332
|
+
listener(tokens);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
async runLoginOperation(operation) {
|
|
336
|
+
if (this._loginInFlight) {
|
|
337
|
+
throw new AuthWebError("operation_in_progress", "Another login is already in progress");
|
|
338
|
+
}
|
|
339
|
+
this._loginInFlight = true;
|
|
340
|
+
try {
|
|
341
|
+
await operation();
|
|
342
|
+
} finally {
|
|
343
|
+
this._loginInFlight = false;
|
|
344
|
+
}
|
|
319
345
|
}
|
|
320
346
|
async login(provider, options) {
|
|
321
347
|
const loginHint = options?.loginHint;
|
|
@@ -323,15 +349,23 @@ class AuthWeb {
|
|
|
323
349
|
scopes: options?.scopes
|
|
324
350
|
});
|
|
325
351
|
try {
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
352
|
+
await this.runLoginOperation(async () => {
|
|
353
|
+
if (provider === "google") {
|
|
354
|
+
const scopes = options?.scopes ?? DEFAULT_SCOPES;
|
|
355
|
+
await this.loginGoogle(scopes, loginHint);
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
if (provider === "microsoft") {
|
|
359
|
+
const scopes = options?.scopes ?? MS_DEFAULT_SCOPES;
|
|
360
|
+
await this.loginMicrosoft(scopes, loginHint, options?.tenant, options?.prompt);
|
|
361
|
+
return;
|
|
362
|
+
}
|
|
363
|
+
if (provider === "apple") {
|
|
364
|
+
await this.loginApple();
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
throw new AuthWebError("unsupported_provider", `Unsupported auth provider: ${provider}`);
|
|
368
|
+
});
|
|
335
369
|
logger.log(`Login successful with ${provider}`);
|
|
336
370
|
} catch (e) {
|
|
337
371
|
const error = this.mapError(e);
|
|
@@ -350,11 +384,13 @@ class AuthWeb {
|
|
|
350
384
|
logger.log("Requesting additional scopes:", scopes);
|
|
351
385
|
const newScopes = [...new Set([...this._grantedScopes, ...scopes])];
|
|
352
386
|
try {
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
387
|
+
await this.runLoginOperation(async () => {
|
|
388
|
+
if (provider === "google") {
|
|
389
|
+
await this.loginGoogle(newScopes);
|
|
390
|
+
return;
|
|
391
|
+
}
|
|
356
392
|
await this.loginMicrosoft(newScopes);
|
|
357
|
-
}
|
|
393
|
+
});
|
|
358
394
|
} catch (e) {
|
|
359
395
|
const error = this.mapError(e);
|
|
360
396
|
logger.error("Requesting scopes failed:", error.message);
|
|
@@ -426,16 +462,15 @@ class AuthWeb {
|
|
|
426
462
|
});
|
|
427
463
|
const json = await this.parseResponseObject(response);
|
|
428
464
|
if (!response.ok) {
|
|
429
|
-
throw new
|
|
465
|
+
throw new AuthWebError("refresh_failed", getOptionalString(json, "error_description") ?? getOptionalString(json, "error") ?? "Token refresh failed");
|
|
430
466
|
}
|
|
431
467
|
const idToken = getOptionalString(json, "id_token");
|
|
432
468
|
const accessToken = getOptionalString(json, "access_token");
|
|
433
469
|
const newRefreshToken = getOptionalString(json, "refresh_token");
|
|
434
|
-
const expiresInSeconds = getOptionalNumber(json, "expires_in");
|
|
435
470
|
if (newRefreshToken) {
|
|
436
471
|
this.saveRefreshToken(newRefreshToken);
|
|
437
472
|
}
|
|
438
|
-
const expirationTime =
|
|
473
|
+
const expirationTime = this.getExpirationTime(json["expires_in"]);
|
|
439
474
|
const effectiveIdToken = idToken ?? this._currentUser.idToken;
|
|
440
475
|
const claims = effectiveIdToken ? this.decodeMicrosoftJwt(effectiveIdToken) : {};
|
|
441
476
|
const user = {
|
|
@@ -453,9 +488,7 @@ class AuthWeb {
|
|
|
453
488
|
refreshToken: newRefreshToken ?? undefined,
|
|
454
489
|
expirationTime
|
|
455
490
|
};
|
|
456
|
-
this.
|
|
457
|
-
l(tokens);
|
|
458
|
-
});
|
|
491
|
+
this.notifyTokenListeners(tokens);
|
|
459
492
|
return tokens;
|
|
460
493
|
}
|
|
461
494
|
if (this._currentUser.provider !== "google") {
|
|
@@ -469,16 +502,19 @@ class AuthWeb {
|
|
|
469
502
|
refreshToken: this._currentUser.refreshToken,
|
|
470
503
|
expirationTime: this._currentUser.expirationTime
|
|
471
504
|
};
|
|
472
|
-
this.
|
|
473
|
-
l(tokens);
|
|
474
|
-
});
|
|
505
|
+
this.notifyTokenListeners(tokens);
|
|
475
506
|
return tokens;
|
|
476
507
|
}
|
|
477
508
|
mapError(error) {
|
|
509
|
+
if (error instanceof AuthWebError) {
|
|
510
|
+
return error;
|
|
511
|
+
}
|
|
478
512
|
const rawMessage = error instanceof Error ? error.message : String(error);
|
|
479
513
|
const msg = rawMessage.toLowerCase();
|
|
480
|
-
let mappedMsg =
|
|
481
|
-
if (
|
|
514
|
+
let mappedMsg = "unknown";
|
|
515
|
+
if (isAuthErrorCode(rawMessage)) {
|
|
516
|
+
mappedMsg = rawMessage;
|
|
517
|
+
} else if (msg.includes("cancel") || msg.includes("popup_closed")) {
|
|
482
518
|
mappedMsg = "cancelled";
|
|
483
519
|
} else if (msg.includes("access_denied")) {
|
|
484
520
|
mappedMsg = "cancelled";
|
|
@@ -486,6 +522,18 @@ class AuthWeb {
|
|
|
486
522
|
mappedMsg = "timeout";
|
|
487
523
|
} else if (msg.includes("popup blocked")) {
|
|
488
524
|
mappedMsg = "popup_blocked";
|
|
525
|
+
} else if (msg.includes("login is already in progress")) {
|
|
526
|
+
mappedMsg = "operation_in_progress";
|
|
527
|
+
} else if (msg.includes("state mismatch")) {
|
|
528
|
+
mappedMsg = "invalid_state";
|
|
529
|
+
} else if (msg.includes("nonce mismatch")) {
|
|
530
|
+
mappedMsg = "invalid_nonce";
|
|
531
|
+
} else if (msg.includes("no id_token") || msg.includes("no_id_token")) {
|
|
532
|
+
mappedMsg = "no_id_token";
|
|
533
|
+
} else if (msg.includes("invalid jwt") || msg.includes("json")) {
|
|
534
|
+
mappedMsg = "parse_error";
|
|
535
|
+
} else if (msg.includes("no user logged in") || msg.includes("not signed in")) {
|
|
536
|
+
mappedMsg = "not_signed_in";
|
|
489
537
|
} else if (msg.includes("network") || msg.includes("server_error") || msg.includes("temporarily_unavailable")) {
|
|
490
538
|
mappedMsg = "network_error";
|
|
491
539
|
} else if (msg.includes("invalid_grant") || msg.includes("invalid_token")) {
|
|
@@ -496,24 +544,62 @@ class AuthWeb {
|
|
|
496
544
|
return new AuthWebError(mappedMsg, rawMessage);
|
|
497
545
|
}
|
|
498
546
|
async parseResponseObject(response) {
|
|
499
|
-
|
|
547
|
+
let parsed;
|
|
548
|
+
try {
|
|
549
|
+
parsed = await response.json();
|
|
550
|
+
} catch (error) {
|
|
551
|
+
throw new AuthWebError("parse_error", String(error));
|
|
552
|
+
}
|
|
500
553
|
if (!isJsonObject(parsed)) {
|
|
501
|
-
throw new
|
|
554
|
+
throw new AuthWebError("parse_error", "Expected JSON object response from auth provider");
|
|
502
555
|
}
|
|
503
556
|
return parsed;
|
|
504
557
|
}
|
|
505
558
|
parseJwtPayload(token) {
|
|
506
|
-
const
|
|
507
|
-
|
|
508
|
-
|
|
559
|
+
const parts = token.split(".");
|
|
560
|
+
const payload = parts[1];
|
|
561
|
+
if (parts.length < 2 || !payload || payload.length % 4 === 1 || !JWT_BASE64_URL_RE.test(payload)) {
|
|
562
|
+
throw new AuthWebError("parse_error", "Invalid JWT payload");
|
|
563
|
+
}
|
|
564
|
+
try {
|
|
565
|
+
const normalizedPayload = payload.replace(/-/g, "+").replace(/_/g, "/");
|
|
566
|
+
const padding = "=".repeat((4 - normalizedPayload.length % 4) % 4);
|
|
567
|
+
const binary = atob(`${normalizedPayload}${padding}`);
|
|
568
|
+
const decodedText = typeof TextDecoder === "function" ? new TextDecoder().decode(Uint8Array.from(binary, char => char.charCodeAt(0))) : decodeURIComponent(Array.from(binary, char => `%${char.charCodeAt(0).toString(16).padStart(2, "0")}`).join(""));
|
|
569
|
+
const decoded = JSON.parse(decodedText);
|
|
570
|
+
if (!isJsonObject(decoded)) {
|
|
571
|
+
throw new Error("Expected JWT payload to be an object");
|
|
572
|
+
}
|
|
573
|
+
return decoded;
|
|
574
|
+
} catch (error) {
|
|
575
|
+
if (error instanceof AuthWebError) {
|
|
576
|
+
throw error;
|
|
577
|
+
}
|
|
578
|
+
throw new AuthWebError("parse_error", String(error));
|
|
579
|
+
}
|
|
580
|
+
}
|
|
581
|
+
mapOAuthErrorCode(error) {
|
|
582
|
+
const normalizedError = error.trim().toLowerCase();
|
|
583
|
+
if (normalizedError === "access_denied" || normalizedError === "popup_closed_by_user" || normalizedError === "user_cancelled") {
|
|
584
|
+
return "cancelled";
|
|
509
585
|
}
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
const decoded = JSON.parse(atob(`${normalizedPayload}${padding}`));
|
|
513
|
-
if (!isJsonObject(decoded)) {
|
|
514
|
-
throw new Error("Expected JWT payload to be an object");
|
|
586
|
+
if (normalizedError === "server_error" || normalizedError === "temporarily_unavailable") {
|
|
587
|
+
return "network_error";
|
|
515
588
|
}
|
|
516
|
-
|
|
589
|
+
if (normalizedError === "invalid_client" || normalizedError === "invalid_scope" || normalizedError === "unauthorized_client") {
|
|
590
|
+
return "configuration_error";
|
|
591
|
+
}
|
|
592
|
+
if (normalizedError === "invalid_grant" || normalizedError === "invalid_token") {
|
|
593
|
+
return "token_error";
|
|
594
|
+
}
|
|
595
|
+
return "unknown";
|
|
596
|
+
}
|
|
597
|
+
getExpirationTime(expiresIn) {
|
|
598
|
+
const expiresInSeconds = parseExpiresInSeconds(expiresIn);
|
|
599
|
+
if (expiresInSeconds === undefined) {
|
|
600
|
+
return undefined;
|
|
601
|
+
}
|
|
602
|
+
return Date.now() + expiresInSeconds * 1000;
|
|
517
603
|
}
|
|
518
604
|
waitForPopupRedirect(popup, redirectUri, provider, onRedirect) {
|
|
519
605
|
return new Promise((resolve, reject) => {
|
|
@@ -551,7 +637,7 @@ class AuthWeb {
|
|
|
551
637
|
return;
|
|
552
638
|
}
|
|
553
639
|
cleanup(intervalId, timeoutId, true);
|
|
554
|
-
void Promise.resolve(onRedirect(url)).then(() => {
|
|
640
|
+
void Promise.resolve().then(() => onRedirect(url)).then(() => {
|
|
555
641
|
resolve();
|
|
556
642
|
}).catch(error => {
|
|
557
643
|
reject(error);
|
|
@@ -560,17 +646,6 @@ class AuthWeb {
|
|
|
560
646
|
});
|
|
561
647
|
}
|
|
562
648
|
async loginGoogle(scopes, loginHint) {
|
|
563
|
-
if (this._loginInFlight) {
|
|
564
|
-
throw new AuthWebError("cancelled", "Another login is already in progress");
|
|
565
|
-
}
|
|
566
|
-
this._loginInFlight = true;
|
|
567
|
-
try {
|
|
568
|
-
await this._loginGoogleInner(scopes, loginHint);
|
|
569
|
-
} finally {
|
|
570
|
-
this._loginInFlight = false;
|
|
571
|
-
}
|
|
572
|
-
}
|
|
573
|
-
async _loginGoogleInner(scopes, loginHint) {
|
|
574
649
|
const clientId = this._config.googleWebClientId;
|
|
575
650
|
if (!clientId) {
|
|
576
651
|
throw new Error("Google Web Client ID not configured. Add 'GOOGLE_WEB_CLIENT_ID' to your .env file.");
|
|
@@ -606,13 +681,18 @@ class AuthWeb {
|
|
|
606
681
|
const accessToken = params.get("access_token");
|
|
607
682
|
const expiresIn = params.get("expires_in");
|
|
608
683
|
const code = params.get("code");
|
|
684
|
+
const error = params.get("error");
|
|
685
|
+
const errorDescription = params.get("error_description");
|
|
686
|
+
if (error) {
|
|
687
|
+
throw new AuthWebError(this.mapOAuthErrorCode(error), errorDescription ?? error);
|
|
688
|
+
}
|
|
609
689
|
if (!idToken) {
|
|
610
|
-
throw new
|
|
690
|
+
throw new AuthWebError("no_id_token", "No id_token in response");
|
|
611
691
|
}
|
|
612
692
|
const decoded = this.parseJwtPayload(idToken);
|
|
613
693
|
if (decoded["nonce"] !== this._pendingGoogleNonce) {
|
|
614
694
|
this._pendingGoogleNonce = undefined;
|
|
615
|
-
throw new
|
|
695
|
+
throw new AuthWebError("invalid_nonce", "Nonce mismatch - possible replay attack");
|
|
616
696
|
}
|
|
617
697
|
this._pendingGoogleNonce = undefined;
|
|
618
698
|
this._grantedScopes = scopes;
|
|
@@ -623,7 +703,7 @@ class AuthWeb {
|
|
|
623
703
|
accessToken: accessToken ?? undefined,
|
|
624
704
|
serverAuthCode: code ?? undefined,
|
|
625
705
|
scopes,
|
|
626
|
-
expirationTime:
|
|
706
|
+
expirationTime: this.getExpirationTime(expiresIn),
|
|
627
707
|
...this.decodeGoogleJwt(idToken)
|
|
628
708
|
};
|
|
629
709
|
this.updateUser(user);
|
|
@@ -650,17 +730,6 @@ class AuthWeb {
|
|
|
650
730
|
}
|
|
651
731
|
}
|
|
652
732
|
async loginMicrosoft(scopes, loginHint, tenant, prompt) {
|
|
653
|
-
if (this._loginInFlight) {
|
|
654
|
-
throw new AuthWebError("cancelled", "Another login is already in progress");
|
|
655
|
-
}
|
|
656
|
-
this._loginInFlight = true;
|
|
657
|
-
try {
|
|
658
|
-
await this._loginMicrosoftInner(scopes, loginHint, tenant, prompt);
|
|
659
|
-
} finally {
|
|
660
|
-
this._loginInFlight = false;
|
|
661
|
-
}
|
|
662
|
-
}
|
|
663
|
-
async _loginMicrosoftInner(scopes, loginHint, tenant, prompt) {
|
|
664
733
|
const clientId = this._config.microsoftClientId;
|
|
665
734
|
if (!clientId) {
|
|
666
735
|
throw new Error("Microsoft Client ID not configured. Add 'microsoftClientId' to expo.extra in your app.config.js");
|
|
@@ -705,13 +774,13 @@ class AuthWeb {
|
|
|
705
774
|
const error = urlObj.searchParams.get("error");
|
|
706
775
|
const errorDescription = urlObj.searchParams.get("error_description");
|
|
707
776
|
if (error) {
|
|
708
|
-
throw new
|
|
777
|
+
throw new AuthWebError(this.mapOAuthErrorCode(error), errorDescription ?? error);
|
|
709
778
|
}
|
|
710
779
|
if (returnedState !== state) {
|
|
711
|
-
throw new
|
|
780
|
+
throw new AuthWebError("invalid_state", "State mismatch - possible CSRF attack");
|
|
712
781
|
}
|
|
713
782
|
if (!code) {
|
|
714
|
-
throw new
|
|
783
|
+
throw new AuthWebError("token_error", "No authorization code in response");
|
|
715
784
|
}
|
|
716
785
|
await this.exchangeMicrosoftCodeForTokens(code, codeVerifier, clientId, redirectUri, effectiveTenant, nonce, effectiveScopes);
|
|
717
786
|
}).then(() => {
|
|
@@ -755,20 +824,19 @@ class AuthWeb {
|
|
|
755
824
|
});
|
|
756
825
|
const json = await this.parseResponseObject(response);
|
|
757
826
|
if (!response.ok) {
|
|
758
|
-
throw new
|
|
827
|
+
throw new AuthWebError("token_error", getOptionalString(json, "error_description") ?? getOptionalString(json, "error") ?? "Token exchange failed");
|
|
759
828
|
}
|
|
760
829
|
const idToken = getOptionalString(json, "id_token");
|
|
761
830
|
if (!idToken) {
|
|
762
|
-
throw new
|
|
831
|
+
throw new AuthWebError("no_id_token", "No id_token in token response");
|
|
763
832
|
}
|
|
764
833
|
const claims = this.decodeMicrosoftJwt(idToken);
|
|
765
834
|
const payload = this.parseJwtPayload(idToken);
|
|
766
835
|
if (getOptionalString(payload, "nonce") !== expectedNonce) {
|
|
767
|
-
throw new
|
|
836
|
+
throw new AuthWebError("invalid_nonce", "Nonce mismatch - token may be replayed");
|
|
768
837
|
}
|
|
769
838
|
const accessToken = getOptionalString(json, "access_token");
|
|
770
839
|
const refreshToken = getOptionalString(json, "refresh_token");
|
|
771
|
-
const expiresInSeconds = getOptionalNumber(json, "expires_in");
|
|
772
840
|
if (refreshToken) {
|
|
773
841
|
this.saveRefreshToken(refreshToken);
|
|
774
842
|
}
|
|
@@ -780,7 +848,7 @@ class AuthWeb {
|
|
|
780
848
|
accessToken: accessToken ?? undefined,
|
|
781
849
|
refreshToken: refreshToken ?? undefined,
|
|
782
850
|
scopes,
|
|
783
|
-
expirationTime:
|
|
851
|
+
expirationTime: this.getExpirationTime(json["expires_in"]),
|
|
784
852
|
...claims
|
|
785
853
|
};
|
|
786
854
|
this.updateUser(user);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","CACHE_KEY","SCOPES_KEY","MS_REFRESH_TOKEN_KEY","DEFAULT_SCOPES","MS_DEFAULT_SCOPES","STORAGE_MODE_SESSION","STORAGE_MODE_LOCAL","STORAGE_MODE_MEMORY","POPUP_POLL_INTERVAL_MS","POPUP_TIMEOUT_MS","WEB_STORAGE_MODES","Set","inMemoryWebStorage","Map","_appleSdkLoadPromise","AuthWebError","Error","constructor","message","underlyingError","name","isJsonObject","value","isAuthProvider","getOptionalString","source","key","candidate","undefined","getOptionalNumber","parseAuthUser","provider","scopesCandidate","scopes","Array","isArray","filter","scope","email","photo","idToken","accessToken","refreshToken","serverAuthCode","expirationTime","parseScopes","parseAuthWebExtraConfig","nitroAuthWebStorageCandidate","nitroAuthWebStorage","googleWebClientId","microsoftClientId","microsoftTenant","microsoftB2cDomain","appleWebClientId","nitroAuthPersistTokensOnWeb","getConfig","Constants","require","default","expoConfig","extra","error","debug","String","AuthWeb","_grantedScopes","_listeners","_tokenListeners","_browserStorageResolved","_loginInFlight","_config","loadFromCache","isPromiseLike","then","createWebStorageDriver","adapter","save","result","load","remove","shouldPersistTokensInStorage","_storageAdapter","getWebStorageMode","configuredMode","has","getBrowserStorage","_browserStorageCache","window","mode","storage","localStorage","sessionStorage","testKey","setItem","removeItem","warn","saveValue","set","loadValue","getItem","get","removeValue","delete","removePersistedBrowserValue","sanitizeUserForPersistence","user","safeUser","saveRefreshToken","loadRefreshToken","cached","parsedUser","JSON","parse","_currentUser","removeFromCache","parsedScopes","currentUser","grantedScopes","hasPlayServices","onAuthStateChanged","callback","push","l","onTokensRefreshed","notify","forEach","login","options","loginHint","log","loginGoogle","loginMicrosoft","tenant","prompt","loginApple","e","mapError","requestScopes","newScopes","revokeScopes","s","includes","stringify","updateUser","getAccessToken","now","Date","_refreshPromise","refreshPromise","performRefreshToken","clientId","b2cDomain","authBaseUrl","getMicrosoftAuthBaseUrl","tokenUrl","body","URLSearchParams","client_id","grant_type","refresh_token","response","fetch","method","headers","toString","json","parseResponseObject","ok","newRefreshToken","expiresInSeconds","effectiveIdToken","claims","decodeMicrosoftJwt","tokens","length","rawMessage","msg","toLowerCase","mappedMsg","parsed","parseJwtPayload","token","payload","split","normalizedPayload","replace","padding","repeat","decoded","atob","waitForPopupRedirect","popup","redirectUri","onRedirect","Promise","resolve","reject","crossOriginLogShown","cleanup","intervalId","timeoutId","shouldClosePopup","clearInterval","clearTimeout","closed","close","setTimeout","setInterval","url","location","href","startsWith","catch","_loginGoogleInner","nonce","crypto","randomUUID","_pendingGoogleNonce","origin","authUrl","URL","searchParams","join","width","height","left","screenX","outerWidth","top","screenY","outerHeight","open","hash","slice","params","expiresIn","code","parseInt","decodeGoogleJwt","_loginMicrosoftInner","effectiveTenant","effectiveScopes","codeVerifier","generateCodeVerifier","codeChallenge","generateCodeChallenge","state","urlObj","returnedState","errorDescription","exchangeMicrosoftCodeForTokens","array","Uint8Array","getRandomValues","base64UrlEncode","verifier","encoder","TextEncoder","data","encode","subtle","digest","bytes","base64","btoa","fromCharCode","expectedNonce","redirect_uri","code_verifier","endsWith","ensureAppleSdkLoaded","AppleID","scriptId","existingScript","document","getElementById","addEventListener","once","script","createElement","id","src","async","onload","onerror","head","appendChild","auth","init","redirectURI","usePopup","signIn","authorization","id_token","firstName","lastName","trim","silentRestore","logout","userToPersist","setLoggingEnabled","enabled","setEnabled","setWebStorageAdapter","dispose","equals","other","AuthModule"],"sourceRoot":"../../src","sources":["Auth.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["logger","CACHE_KEY","SCOPES_KEY","MS_REFRESH_TOKEN_KEY","DEFAULT_SCOPES","MS_DEFAULT_SCOPES","STORAGE_MODE_SESSION","STORAGE_MODE_LOCAL","STORAGE_MODE_MEMORY","POPUP_POLL_INTERVAL_MS","POPUP_TIMEOUT_MS","WEB_STORAGE_MODES","Set","WEB_AUTH_ERROR_CODES","JWT_BASE64_URL_RE","inMemoryWebStorage","Map","_appleSdkLoadPromise","AuthWebError","Error","constructor","message","underlyingError","name","isJsonObject","value","isAuthProvider","getOptionalString","source","key","candidate","undefined","getOptionalNumber","Number","isFinite","parseExpiresInSeconds","trim","length","parseAuthUser","provider","scopesCandidate","scopes","Array","isArray","filter","scope","email","photo","idToken","accessToken","refreshToken","serverAuthCode","expirationTime","parseScopes","isAuthErrorCode","has","parseAuthWebExtraConfig","nitroAuthWebStorageCandidate","nitroAuthWebStorage","googleWebClientId","microsoftClientId","microsoftTenant","microsoftB2cDomain","appleWebClientId","nitroAuthPersistTokensOnWeb","getConfig","Constants","require","default","expoConfig","extra","error","debug","String","AuthWeb","_grantedScopes","_listeners","_tokenListeners","_browserStorageResolved","_loginInFlight","_config","loadFromCache","isPromiseLike","then","createWebStorageDriver","adapter","save","result","load","remove","shouldPersistTokensInStorage","_storageAdapter","getWebStorageMode","configuredMode","getBrowserStorage","_browserStorageCache","window","mode","storage","localStorage","sessionStorage","testKey","setItem","removeItem","warn","saveValue","set","loadValue","getItem","get","removeValue","delete","removePersistedBrowserValue","sanitizeUserForPersistence","user","safeUser","saveRefreshToken","loadRefreshToken","cached","parsedUser","JSON","parse","_currentUser","removeFromCache","parsedScopes","currentUser","grantedScopes","hasPlayServices","onAuthStateChanged","callback","push","l","onTokensRefreshed","notify","listener","notifyTokenListeners","tokens","runLoginOperation","operation","login","options","loginHint","log","loginGoogle","loginMicrosoft","tenant","prompt","loginApple","e","mapError","requestScopes","newScopes","revokeScopes","s","includes","stringify","updateUser","getAccessToken","now","Date","_refreshPromise","refreshPromise","performRefreshToken","clientId","b2cDomain","authBaseUrl","getMicrosoftAuthBaseUrl","tokenUrl","body","URLSearchParams","client_id","grant_type","refresh_token","response","fetch","method","headers","toString","json","parseResponseObject","ok","newRefreshToken","getExpirationTime","effectiveIdToken","claims","decodeMicrosoftJwt","rawMessage","msg","toLowerCase","mappedMsg","parsed","parseJwtPayload","token","parts","split","payload","test","normalizedPayload","replace","padding","repeat","binary","atob","decodedText","TextDecoder","decode","Uint8Array","from","char","charCodeAt","decodeURIComponent","padStart","join","decoded","mapOAuthErrorCode","normalizedError","expiresIn","expiresInSeconds","waitForPopupRedirect","popup","redirectUri","onRedirect","Promise","resolve","reject","crossOriginLogShown","cleanup","intervalId","timeoutId","shouldClosePopup","clearInterval","clearTimeout","closed","close","setTimeout","setInterval","url","location","href","startsWith","catch","nonce","crypto","randomUUID","_pendingGoogleNonce","origin","authUrl","URL","searchParams","width","height","left","screenX","outerWidth","top","screenY","outerHeight","open","hash","slice","params","code","errorDescription","decodeGoogleJwt","effectiveTenant","effectiveScopes","codeVerifier","generateCodeVerifier","codeChallenge","generateCodeChallenge","state","urlObj","returnedState","exchangeMicrosoftCodeForTokens","array","getRandomValues","base64UrlEncode","verifier","encoder","TextEncoder","data","encode","subtle","digest","bytes","base64","btoa","fromCharCode","expectedNonce","redirect_uri","code_verifier","endsWith","ensureAppleSdkLoaded","AppleID","scriptId","existingScript","document","getElementById","addEventListener","once","script","createElement","id","src","async","onload","onerror","head","appendChild","auth","init","redirectURI","usePopup","signIn","authorization","id_token","firstName","lastName","silentRestore","logout","userToPersist","setLoggingEnabled","enabled","setEnabled","setWebStorageAdapter","dispose","equals","other","AuthModule"],"sourceRoot":"../../src","sources":["Auth.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { AuthError } from "./utils/auth-error.js";
|
|
4
|
+
async function wrapAuthOperation(operation) {
|
|
5
|
+
try {
|
|
6
|
+
return await operation();
|
|
7
|
+
} catch (e) {
|
|
8
|
+
throw AuthError.from(e);
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
export function createAuthService(getAuth) {
|
|
12
|
+
return {
|
|
13
|
+
get name() {
|
|
14
|
+
return getAuth().name;
|
|
15
|
+
},
|
|
16
|
+
get currentUser() {
|
|
17
|
+
return getAuth().currentUser;
|
|
18
|
+
},
|
|
19
|
+
get grantedScopes() {
|
|
20
|
+
const scopes = getAuth().grantedScopes;
|
|
21
|
+
return Array.isArray(scopes) ? scopes : [];
|
|
22
|
+
},
|
|
23
|
+
get hasPlayServices() {
|
|
24
|
+
return getAuth().hasPlayServices;
|
|
25
|
+
},
|
|
26
|
+
login(provider, options) {
|
|
27
|
+
return wrapAuthOperation(() => getAuth().login(provider, options));
|
|
28
|
+
},
|
|
29
|
+
requestScopes(scopes) {
|
|
30
|
+
return wrapAuthOperation(() => getAuth().requestScopes(scopes));
|
|
31
|
+
},
|
|
32
|
+
revokeScopes(scopes) {
|
|
33
|
+
return wrapAuthOperation(() => getAuth().revokeScopes(scopes));
|
|
34
|
+
},
|
|
35
|
+
getAccessToken() {
|
|
36
|
+
return wrapAuthOperation(() => getAuth().getAccessToken());
|
|
37
|
+
},
|
|
38
|
+
refreshToken() {
|
|
39
|
+
return wrapAuthOperation(() => getAuth().refreshToken());
|
|
40
|
+
},
|
|
41
|
+
logout() {
|
|
42
|
+
getAuth().logout();
|
|
43
|
+
},
|
|
44
|
+
silentRestore() {
|
|
45
|
+
return wrapAuthOperation(() => getAuth().silentRestore());
|
|
46
|
+
},
|
|
47
|
+
onAuthStateChanged(callback) {
|
|
48
|
+
const auth = getAuth();
|
|
49
|
+
return auth.onAuthStateChanged?.(callback) ?? (() => {});
|
|
50
|
+
},
|
|
51
|
+
onTokensRefreshed(callback) {
|
|
52
|
+
const auth = getAuth();
|
|
53
|
+
return auth.onTokensRefreshed?.(callback) ?? (() => {});
|
|
54
|
+
},
|
|
55
|
+
setLoggingEnabled(enabled) {
|
|
56
|
+
const auth = getAuth();
|
|
57
|
+
auth.setLoggingEnabled?.(enabled);
|
|
58
|
+
},
|
|
59
|
+
dispose() {
|
|
60
|
+
getAuth().dispose();
|
|
61
|
+
},
|
|
62
|
+
equals(other) {
|
|
63
|
+
return getAuth().equals(other);
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=create-auth-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AuthError","wrapAuthOperation","operation","e","from","createAuthService","getAuth","name","currentUser","grantedScopes","scopes","Array","isArray","hasPlayServices","login","provider","options","requestScopes","revokeScopes","getAccessToken","refreshToken","logout","silentRestore","onAuthStateChanged","callback","auth","onTokensRefreshed","setLoggingEnabled","enabled","dispose","equals","other"],"sourceRoot":"../../src","sources":["create-auth-service.ts"],"mappings":"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","ignoreList":[]}
|