react-native-nitro-auth 0.5.12 → 0.6.1
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 +42 -0
- package/README.md +132 -32
- package/android/build.gradle +4 -4
- package/android/gradle.properties +2 -2
- package/android/src/main/cpp/PlatformAuth+Android.cpp +87 -4
- package/android/src/main/java/com/auth/AuthAdapter.kt +85 -48
- package/android/src/main/java/com/auth/GoogleSignInActivity.kt +12 -2
- package/cpp/HybridAuth.cpp +168 -18
- package/cpp/HybridAuth.hpp +7 -0
- package/cpp/PlatformAuth.hpp +1 -0
- package/ios/AuthAdapter.swift +101 -24
- package/ios/PlatformAuth+iOS.mm +37 -1
- package/lib/commonjs/Auth.web.js +74 -21
- package/lib/commonjs/Auth.web.js.map +1 -1
- package/lib/commonjs/create-auth-service.js +10 -0
- package/lib/commonjs/create-auth-service.js.map +1 -1
- package/lib/commonjs/index.js +12 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +12 -0
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/provider-options.js +6 -0
- package/lib/commonjs/provider-options.js.map +1 -0
- package/lib/commonjs/service.js.map +1 -1
- package/lib/commonjs/service.web.js.map +1 -1
- package/lib/commonjs/use-auth.js +21 -1
- package/lib/commonjs/use-auth.js.map +1 -1
- package/lib/module/Auth.web.js +74 -21
- package/lib/module/Auth.web.js.map +1 -1
- package/lib/module/create-auth-service.js +10 -0
- package/lib/module/create-auth-service.js.map +1 -1
- package/lib/module/global.d.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/provider-options.js +4 -0
- package/lib/module/provider-options.js.map +1 -0
- package/lib/module/service.js.map +1 -1
- package/lib/module/service.web.js.map +1 -1
- package/lib/module/use-auth.js +21 -1
- package/lib/module/use-auth.js.map +1 -1
- package/lib/typescript/commonjs/Auth.nitro.d.ts +11 -0
- package/lib/typescript/commonjs/Auth.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/Auth.web.d.ts +4 -0
- package/lib/typescript/commonjs/Auth.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/create-auth-service.d.ts +2 -1
- package/lib/typescript/commonjs/create-auth-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +1 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/provider-options.d.ts +23 -0
- package/lib/typescript/commonjs/provider-options.d.ts.map +1 -0
- package/lib/typescript/commonjs/service.d.ts +2 -2
- package/lib/typescript/commonjs/service.d.ts.map +1 -1
- package/lib/typescript/commonjs/service.web.d.ts +2 -2
- package/lib/typescript/commonjs/service.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/use-auth.d.ts +4 -2
- package/lib/typescript/commonjs/use-auth.d.ts.map +1 -1
- package/lib/typescript/module/Auth.nitro.d.ts +11 -0
- package/lib/typescript/module/Auth.nitro.d.ts.map +1 -1
- package/lib/typescript/module/Auth.web.d.ts +4 -0
- package/lib/typescript/module/Auth.web.d.ts.map +1 -1
- package/lib/typescript/module/create-auth-service.d.ts +2 -1
- package/lib/typescript/module/create-auth-service.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +1 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/provider-options.d.ts +23 -0
- package/lib/typescript/module/provider-options.d.ts.map +1 -0
- package/lib/typescript/module/service.d.ts +2 -2
- package/lib/typescript/module/service.d.ts.map +1 -1
- package/lib/typescript/module/service.web.d.ts +2 -2
- package/lib/typescript/module/service.web.d.ts.map +1 -1
- package/lib/typescript/module/use-auth.d.ts +4 -2
- package/lib/typescript/module/use-auth.d.ts.map +1 -1
- package/nitrogen/generated/shared/c++/AuthUser.hpp +17 -1
- package/nitrogen/generated/shared/c++/HybridAuthSpec.cpp +1 -0
- package/nitrogen/generated/shared/c++/HybridAuthSpec.hpp +1 -0
- package/nitrogen/generated/shared/c++/LoginOptions.hpp +25 -1
- package/package.json +7 -7
- package/react-native-nitro-auth.podspec +1 -1
- package/src/Auth.nitro.ts +11 -0
- package/src/Auth.web.ts +99 -16
- package/src/create-auth-service.ts +19 -9
- package/src/global.d.ts +2 -1
- package/src/index.ts +1 -0
- package/src/index.web.ts +1 -0
- package/src/provider-options.ts +62 -0
- package/src/service.ts +2 -1
- package/src/service.web.ts +2 -2
- package/src/use-auth.ts +22 -8
package/ios/PlatformAuth+iOS.mm
CHANGED
|
@@ -48,8 +48,11 @@ std::shared_ptr<Promise<AuthUser>> PlatformAuth::login(AuthProvider provider, co
|
|
|
48
48
|
|
|
49
49
|
NSMutableArray* scopesArray = [NSMutableArray array];
|
|
50
50
|
NSString* hintStr = nil;
|
|
51
|
+
NSString* nonceStr = nil;
|
|
51
52
|
NSString* tenantStr = nil;
|
|
52
53
|
NSString* promptStr = nil;
|
|
54
|
+
NSString* hostedDomainStr = nil;
|
|
55
|
+
NSString* openIDRealmStr = nil;
|
|
53
56
|
|
|
54
57
|
if (options.has_value()) {
|
|
55
58
|
if (options->scopes.has_value()) {
|
|
@@ -60,9 +63,18 @@ std::shared_ptr<Promise<AuthUser>> PlatformAuth::login(AuthProvider provider, co
|
|
|
60
63
|
if (options->loginHint.has_value()) {
|
|
61
64
|
hintStr = [NSString stringWithUTF8String:options->loginHint->c_str()];
|
|
62
65
|
}
|
|
66
|
+
if (options->nonce.has_value()) {
|
|
67
|
+
nonceStr = [NSString stringWithUTF8String:options->nonce->c_str()];
|
|
68
|
+
}
|
|
63
69
|
if (options->tenant.has_value()) {
|
|
64
70
|
tenantStr = [NSString stringWithUTF8String:options->tenant->c_str()];
|
|
65
71
|
}
|
|
72
|
+
if (options->hostedDomain.has_value()) {
|
|
73
|
+
hostedDomainStr = [NSString stringWithUTF8String:options->hostedDomain->c_str()];
|
|
74
|
+
}
|
|
75
|
+
if (options->openIDRealm.has_value()) {
|
|
76
|
+
openIDRealmStr = [NSString stringWithUTF8String:options->openIDRealm->c_str()];
|
|
77
|
+
}
|
|
66
78
|
if (options->prompt.has_value()) {
|
|
67
79
|
switch (options->prompt.value()) {
|
|
68
80
|
case MicrosoftPrompt::LOGIN: promptStr = @"login"; break;
|
|
@@ -83,7 +95,7 @@ std::shared_ptr<Promise<AuthUser>> PlatformAuth::login(AuthProvider provider, co
|
|
|
83
95
|
forceAccountPicker = options->forceAccountPicker.value();
|
|
84
96
|
}
|
|
85
97
|
|
|
86
|
-
[AuthAdapter loginWithProvider:providerStr scopes:scopesArray loginHint:hintStr useSheet:useSheet forceAccountPicker:forceAccountPicker tenant:tenantStr prompt:promptStr completion:^(NSDictionary* _Nullable data, NSString* _Nullable error) {
|
|
98
|
+
[AuthAdapter loginWithProvider:providerStr scopes:scopesArray loginHint:hintStr nonce:nonceStr useSheet:useSheet forceAccountPicker:forceAccountPicker tenant:tenantStr prompt:promptStr hostedDomain:hostedDomainStr openIDRealm:openIDRealmStr completion:^(NSDictionary* _Nullable data, NSString* _Nullable error) {
|
|
87
99
|
if (error != nil) {
|
|
88
100
|
promise->reject(std::make_exception_ptr(std::runtime_error([error UTF8String])));
|
|
89
101
|
return;
|
|
@@ -101,6 +113,10 @@ std::shared_ptr<Promise<AuthUser>> PlatformAuth::login(AuthProvider provider, co
|
|
|
101
113
|
user.idToken = nsToStd([data objectForKey:@"idToken"]);
|
|
102
114
|
if ([data objectForKey:@"accessToken"]) user.accessToken = nsToStd([data objectForKey:@"accessToken"]);
|
|
103
115
|
if ([data objectForKey:@"serverAuthCode"]) user.serverAuthCode = nsToStd([data objectForKey:@"serverAuthCode"]);
|
|
116
|
+
if ([data objectForKey:@"authorizationCode"]) user.authorizationCode = nsToStd([data objectForKey:@"authorizationCode"]);
|
|
117
|
+
if ([data objectForKey:@"userId"]) user.userId = nsToStd([data objectForKey:@"userId"]);
|
|
118
|
+
if ([data objectForKey:@"phoneNumber"]) user.phoneNumber = nsToStd([data objectForKey:@"phoneNumber"]);
|
|
119
|
+
if ([data objectForKey:@"hostedDomain"]) user.hostedDomain = nsToStd([data objectForKey:@"hostedDomain"]);
|
|
104
120
|
if ([data objectForKey:@"scopes"]) user.scopes = nsArrayToStd([data objectForKey:@"scopes"]);
|
|
105
121
|
if ([data objectForKey:@"expirationTime"]) user.expirationTime = [[data objectForKey:@"expirationTime"] doubleValue];
|
|
106
122
|
if ([data objectForKey:@"underlyingError"]) user.underlyingError = nsToStd([data objectForKey:@"underlyingError"]);
|
|
@@ -140,6 +156,10 @@ std::shared_ptr<Promise<AuthUser>> PlatformAuth::requestScopes(const std::vector
|
|
|
140
156
|
user.idToken = nsToStd([data objectForKey:@"idToken"]);
|
|
141
157
|
if ([data objectForKey:@"accessToken"]) user.accessToken = nsToStd([data objectForKey:@"accessToken"]);
|
|
142
158
|
if ([data objectForKey:@"serverAuthCode"]) user.serverAuthCode = nsToStd([data objectForKey:@"serverAuthCode"]);
|
|
159
|
+
if ([data objectForKey:@"authorizationCode"]) user.authorizationCode = nsToStd([data objectForKey:@"authorizationCode"]);
|
|
160
|
+
if ([data objectForKey:@"userId"]) user.userId = nsToStd([data objectForKey:@"userId"]);
|
|
161
|
+
if ([data objectForKey:@"phoneNumber"]) user.phoneNumber = nsToStd([data objectForKey:@"phoneNumber"]);
|
|
162
|
+
if ([data objectForKey:@"hostedDomain"]) user.hostedDomain = nsToStd([data objectForKey:@"hostedDomain"]);
|
|
143
163
|
if ([data objectForKey:@"scopes"]) user.scopes = nsArrayToStd([data objectForKey:@"scopes"]);
|
|
144
164
|
if ([data objectForKey:@"expirationTime"]) user.expirationTime = [[data objectForKey:@"expirationTime"] doubleValue];
|
|
145
165
|
if ([data objectForKey:@"underlyingError"]) user.underlyingError = nsToStd([data objectForKey:@"underlyingError"]);
|
|
@@ -186,6 +206,10 @@ std::shared_ptr<Promise<std::optional<AuthUser>>> PlatformAuth::silentRestore()
|
|
|
186
206
|
user.idToken = nsToStd([data objectForKey:@"idToken"]);
|
|
187
207
|
if ([data objectForKey:@"accessToken"]) user.accessToken = nsToStd([data objectForKey:@"accessToken"]);
|
|
188
208
|
if ([data objectForKey:@"serverAuthCode"]) user.serverAuthCode = nsToStd([data objectForKey:@"serverAuthCode"]);
|
|
209
|
+
if ([data objectForKey:@"authorizationCode"]) user.authorizationCode = nsToStd([data objectForKey:@"authorizationCode"]);
|
|
210
|
+
if ([data objectForKey:@"userId"]) user.userId = nsToStd([data objectForKey:@"userId"]);
|
|
211
|
+
if ([data objectForKey:@"phoneNumber"]) user.phoneNumber = nsToStd([data objectForKey:@"phoneNumber"]);
|
|
212
|
+
if ([data objectForKey:@"hostedDomain"]) user.hostedDomain = nsToStd([data objectForKey:@"hostedDomain"]);
|
|
189
213
|
if ([data objectForKey:@"scopes"]) user.scopes = nsArrayToStd([data objectForKey:@"scopes"]);
|
|
190
214
|
if ([data objectForKey:@"expirationTime"]) user.expirationTime = [[data objectForKey:@"expirationTime"] doubleValue];
|
|
191
215
|
if ([data objectForKey:@"underlyingError"]) user.underlyingError = nsToStd([data objectForKey:@"underlyingError"]);
|
|
@@ -202,4 +226,16 @@ void PlatformAuth::logout() {
|
|
|
202
226
|
[AuthAdapter logout];
|
|
203
227
|
}
|
|
204
228
|
|
|
229
|
+
std::shared_ptr<Promise<void>> PlatformAuth::revokeAccess() {
|
|
230
|
+
auto promise = Promise<void>::create();
|
|
231
|
+
[AuthAdapter revokeAccessWithCompletion:^(NSString* _Nullable error) {
|
|
232
|
+
if (error != nil) {
|
|
233
|
+
promise->reject(std::make_exception_ptr(std::runtime_error([error UTF8String])));
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
promise->resolve();
|
|
237
|
+
}];
|
|
238
|
+
return promise;
|
|
239
|
+
}
|
|
240
|
+
|
|
205
241
|
} // namespace margelo::nitro::NitroAuth
|
package/lib/commonjs/Auth.web.js
CHANGED
|
@@ -105,6 +105,8 @@ class AuthWeb {
|
|
|
105
105
|
_tokenListeners = [];
|
|
106
106
|
_browserStorageResolved = false;
|
|
107
107
|
_loginInFlight = false;
|
|
108
|
+
_sessionGeneration = 0;
|
|
109
|
+
_disposed = false;
|
|
108
110
|
constructor() {
|
|
109
111
|
this._config = getConfig();
|
|
110
112
|
this.loadFromCache();
|
|
@@ -239,6 +241,7 @@ class AuthWeb {
|
|
|
239
241
|
delete safeUser.accessToken;
|
|
240
242
|
delete safeUser.idToken;
|
|
241
243
|
delete safeUser.serverAuthCode;
|
|
244
|
+
delete safeUser.authorizationCode;
|
|
242
245
|
return safeUser;
|
|
243
246
|
}
|
|
244
247
|
saveRefreshToken(refreshToken) {
|
|
@@ -273,6 +276,7 @@ class AuthWeb {
|
|
|
273
276
|
delete safeUser.accessToken;
|
|
274
277
|
delete safeUser.idToken;
|
|
275
278
|
delete safeUser.serverAuthCode;
|
|
279
|
+
delete safeUser.authorizationCode;
|
|
276
280
|
this._currentUser = safeUser;
|
|
277
281
|
}
|
|
278
282
|
} catch (error) {
|
|
@@ -337,6 +341,9 @@ class AuthWeb {
|
|
|
337
341
|
}
|
|
338
342
|
}
|
|
339
343
|
async runLoginOperation(operation) {
|
|
344
|
+
if (this._disposed) {
|
|
345
|
+
throw new AuthWebError("cancelled", "Auth module disposed");
|
|
346
|
+
}
|
|
340
347
|
if (this._loginInFlight) {
|
|
341
348
|
throw new AuthWebError("operation_in_progress", "Another login is already in progress");
|
|
342
349
|
}
|
|
@@ -347,8 +354,14 @@ class AuthWeb {
|
|
|
347
354
|
this._loginInFlight = false;
|
|
348
355
|
}
|
|
349
356
|
}
|
|
357
|
+
assertActiveGeneration(generation) {
|
|
358
|
+
if (this._disposed || this._sessionGeneration !== generation) {
|
|
359
|
+
throw new AuthWebError("cancelled", "Auth operation was cancelled");
|
|
360
|
+
}
|
|
361
|
+
}
|
|
350
362
|
async login(provider, options) {
|
|
351
363
|
const loginHint = options?.loginHint;
|
|
364
|
+
const generation = this._sessionGeneration;
|
|
352
365
|
_logger.logger.log(`Starting login with ${provider}`, {
|
|
353
366
|
scopes: options?.scopes
|
|
354
367
|
});
|
|
@@ -356,16 +369,16 @@ class AuthWeb {
|
|
|
356
369
|
await this.runLoginOperation(async () => {
|
|
357
370
|
if (provider === "google") {
|
|
358
371
|
const scopes = options?.scopes ?? DEFAULT_SCOPES;
|
|
359
|
-
await this.loginGoogle(scopes, loginHint);
|
|
372
|
+
await this.loginGoogle(scopes, loginHint, options, generation);
|
|
360
373
|
return;
|
|
361
374
|
}
|
|
362
375
|
if (provider === "microsoft") {
|
|
363
376
|
const scopes = options?.scopes ?? MS_DEFAULT_SCOPES;
|
|
364
|
-
await this.loginMicrosoft(scopes, loginHint, options?.tenant, options?.prompt);
|
|
377
|
+
await this.loginMicrosoft(scopes, loginHint, options?.tenant, options?.prompt, generation);
|
|
365
378
|
return;
|
|
366
379
|
}
|
|
367
380
|
if (provider === "apple") {
|
|
368
|
-
await this.loginApple();
|
|
381
|
+
await this.loginApple(options, generation);
|
|
369
382
|
return;
|
|
370
383
|
}
|
|
371
384
|
throw new AuthWebError("unsupported_provider", `Unsupported auth provider: ${provider}`);
|
|
@@ -388,12 +401,13 @@ class AuthWeb {
|
|
|
388
401
|
_logger.logger.log("Requesting additional scopes:", scopes);
|
|
389
402
|
const newScopes = [...new Set([...this._grantedScopes, ...scopes])];
|
|
390
403
|
try {
|
|
404
|
+
const generation = this._sessionGeneration;
|
|
391
405
|
await this.runLoginOperation(async () => {
|
|
392
406
|
if (provider === "google") {
|
|
393
|
-
await this.loginGoogle(newScopes);
|
|
407
|
+
await this.loginGoogle(newScopes, undefined, undefined, generation);
|
|
394
408
|
return;
|
|
395
409
|
}
|
|
396
|
-
await this.loginMicrosoft(newScopes);
|
|
410
|
+
await this.loginMicrosoft(newScopes, undefined, undefined, undefined, generation);
|
|
397
411
|
});
|
|
398
412
|
} catch (e) {
|
|
399
413
|
const error = this.mapError(e);
|
|
@@ -410,6 +424,9 @@ class AuthWeb {
|
|
|
410
424
|
this.updateUser(this._currentUser);
|
|
411
425
|
}
|
|
412
426
|
}
|
|
427
|
+
async revokeAccess() {
|
|
428
|
+
this.logout();
|
|
429
|
+
}
|
|
413
430
|
async getAccessToken() {
|
|
414
431
|
if (this._currentUser?.expirationTime) {
|
|
415
432
|
const now = Date.now();
|
|
@@ -424,7 +441,7 @@ class AuthWeb {
|
|
|
424
441
|
if (this._refreshPromise) {
|
|
425
442
|
return this._refreshPromise;
|
|
426
443
|
}
|
|
427
|
-
const refreshPromise = this.performRefreshToken();
|
|
444
|
+
const refreshPromise = this.performRefreshToken(this._sessionGeneration);
|
|
428
445
|
this._refreshPromise = refreshPromise;
|
|
429
446
|
try {
|
|
430
447
|
return await refreshPromise;
|
|
@@ -434,7 +451,7 @@ class AuthWeb {
|
|
|
434
451
|
}
|
|
435
452
|
}
|
|
436
453
|
}
|
|
437
|
-
async performRefreshToken() {
|
|
454
|
+
async performRefreshToken(generation) {
|
|
438
455
|
if (!this._currentUser) {
|
|
439
456
|
throw new Error("No user logged in");
|
|
440
457
|
}
|
|
@@ -465,6 +482,7 @@ class AuthWeb {
|
|
|
465
482
|
body: body.toString()
|
|
466
483
|
});
|
|
467
484
|
const json = await this.parseResponseObject(response);
|
|
485
|
+
this.assertActiveGeneration(generation);
|
|
468
486
|
if (!response.ok) {
|
|
469
487
|
throw new AuthWebError("refresh_failed", getOptionalString(json, "error_description") ?? getOptionalString(json, "error") ?? "Token refresh failed");
|
|
470
488
|
}
|
|
@@ -475,13 +493,17 @@ class AuthWeb {
|
|
|
475
493
|
this.saveRefreshToken(newRefreshToken);
|
|
476
494
|
}
|
|
477
495
|
const expirationTime = this.getExpirationTime(json["expires_in"]);
|
|
478
|
-
const
|
|
496
|
+
const currentUser = this._currentUser;
|
|
497
|
+
if (!currentUser) {
|
|
498
|
+
throw new AuthWebError("cancelled", "Auth operation was cancelled");
|
|
499
|
+
}
|
|
500
|
+
const effectiveIdToken = idToken ?? currentUser.idToken;
|
|
479
501
|
const claims = effectiveIdToken ? this.decodeMicrosoftJwt(effectiveIdToken) : {};
|
|
480
502
|
const user = {
|
|
481
|
-
...
|
|
503
|
+
...currentUser,
|
|
482
504
|
idToken: effectiveIdToken,
|
|
483
505
|
accessToken: accessToken ?? undefined,
|
|
484
|
-
refreshToken: newRefreshToken ??
|
|
506
|
+
refreshToken: newRefreshToken ?? currentUser.refreshToken,
|
|
485
507
|
expirationTime,
|
|
486
508
|
...claims
|
|
487
509
|
};
|
|
@@ -499,7 +521,8 @@ class AuthWeb {
|
|
|
499
521
|
throw new Error(`Token refresh not supported for ${this._currentUser.provider}`);
|
|
500
522
|
}
|
|
501
523
|
_logger.logger.log("Refreshing tokens...");
|
|
502
|
-
await this.loginGoogle(this._grantedScopes.length > 0 ? this._grantedScopes : DEFAULT_SCOPES);
|
|
524
|
+
await this.runLoginOperation(() => this.loginGoogle(this._grantedScopes.length > 0 ? this._grantedScopes : DEFAULT_SCOPES, undefined, undefined, generation));
|
|
525
|
+
this.assertActiveGeneration(generation);
|
|
503
526
|
const tokens = {
|
|
504
527
|
accessToken: this._currentUser.accessToken,
|
|
505
528
|
idToken: this._currentUser.idToken,
|
|
@@ -649,12 +672,12 @@ class AuthWeb {
|
|
|
649
672
|
}, POPUP_POLL_INTERVAL_MS);
|
|
650
673
|
});
|
|
651
674
|
}
|
|
652
|
-
async loginGoogle(scopes, loginHint) {
|
|
675
|
+
async loginGoogle(scopes, loginHint, options, generation) {
|
|
653
676
|
const clientId = this._config.googleWebClientId;
|
|
654
677
|
if (!clientId) {
|
|
655
678
|
throw new Error("Google Web Client ID not configured. Add 'GOOGLE_WEB_CLIENT_ID' to your .env file.");
|
|
656
679
|
}
|
|
657
|
-
const nonce = crypto.randomUUID();
|
|
680
|
+
const nonce = options?.nonce ?? crypto.randomUUID();
|
|
658
681
|
this._pendingGoogleNonce = nonce;
|
|
659
682
|
return new Promise((resolve, reject) => {
|
|
660
683
|
const redirectUri = window.location.origin;
|
|
@@ -665,10 +688,16 @@ class AuthWeb {
|
|
|
665
688
|
authUrl.searchParams.set("scope", scopes.join(" "));
|
|
666
689
|
authUrl.searchParams.set("nonce", nonce);
|
|
667
690
|
authUrl.searchParams.set("access_type", "offline");
|
|
668
|
-
authUrl.searchParams.set("prompt", "consent");
|
|
691
|
+
authUrl.searchParams.set("prompt", options?.forceAccountPicker ? "select_account consent" : "consent");
|
|
669
692
|
if (loginHint) {
|
|
670
693
|
authUrl.searchParams.set("login_hint", loginHint);
|
|
671
694
|
}
|
|
695
|
+
if (options?.hostedDomain) {
|
|
696
|
+
authUrl.searchParams.set("hd", options.hostedDomain);
|
|
697
|
+
}
|
|
698
|
+
if (options?.openIDRealm) {
|
|
699
|
+
authUrl.searchParams.set("openid.realm", options.openIDRealm);
|
|
700
|
+
}
|
|
672
701
|
const width = 500;
|
|
673
702
|
const height = 600;
|
|
674
703
|
const left = window.screenX + (window.outerWidth - width) / 2;
|
|
@@ -699,6 +728,9 @@ class AuthWeb {
|
|
|
699
728
|
throw new AuthWebError("invalid_nonce", "Nonce mismatch - possible replay attack");
|
|
700
729
|
}
|
|
701
730
|
this._pendingGoogleNonce = undefined;
|
|
731
|
+
if (generation !== undefined) {
|
|
732
|
+
this.assertActiveGeneration(generation);
|
|
733
|
+
}
|
|
702
734
|
this._grantedScopes = scopes;
|
|
703
735
|
this.saveValue(SCOPES_KEY, JSON.stringify(scopes));
|
|
704
736
|
const user = {
|
|
@@ -706,6 +738,8 @@ class AuthWeb {
|
|
|
706
738
|
idToken,
|
|
707
739
|
accessToken: accessToken ?? undefined,
|
|
708
740
|
serverAuthCode: code ?? undefined,
|
|
741
|
+
userId: getOptionalString(decoded, "sub"),
|
|
742
|
+
hostedDomain: getOptionalString(decoded, "hd"),
|
|
709
743
|
scopes,
|
|
710
744
|
expirationTime: this.getExpirationTime(expiresIn),
|
|
711
745
|
...this.decodeGoogleJwt(idToken)
|
|
@@ -724,7 +758,9 @@ class AuthWeb {
|
|
|
724
758
|
return {
|
|
725
759
|
email: getOptionalString(decoded, "email"),
|
|
726
760
|
name: getOptionalString(decoded, "name"),
|
|
727
|
-
photo: getOptionalString(decoded, "picture")
|
|
761
|
+
photo: getOptionalString(decoded, "picture"),
|
|
762
|
+
userId: getOptionalString(decoded, "sub"),
|
|
763
|
+
hostedDomain: getOptionalString(decoded, "hd")
|
|
728
764
|
};
|
|
729
765
|
} catch (error) {
|
|
730
766
|
_logger.logger.warn("Failed to decode Google ID token", {
|
|
@@ -733,7 +769,7 @@ class AuthWeb {
|
|
|
733
769
|
return {};
|
|
734
770
|
}
|
|
735
771
|
}
|
|
736
|
-
async loginMicrosoft(scopes, loginHint, tenant, prompt) {
|
|
772
|
+
async loginMicrosoft(scopes, loginHint, tenant, prompt, generation) {
|
|
737
773
|
const clientId = this._config.microsoftClientId;
|
|
738
774
|
if (!clientId) {
|
|
739
775
|
throw new Error("Microsoft Client ID not configured. Add 'microsoftClientId' to expo.extra in your app.config.js");
|
|
@@ -786,7 +822,7 @@ class AuthWeb {
|
|
|
786
822
|
if (!code) {
|
|
787
823
|
throw new AuthWebError("token_error", "No authorization code in response");
|
|
788
824
|
}
|
|
789
|
-
await this.exchangeMicrosoftCodeForTokens(code, codeVerifier, clientId, redirectUri, effectiveTenant, nonce, effectiveScopes);
|
|
825
|
+
await this.exchangeMicrosoftCodeForTokens(code, codeVerifier, clientId, redirectUri, effectiveTenant, nonce, effectiveScopes, generation);
|
|
790
826
|
}).then(() => {
|
|
791
827
|
resolve();
|
|
792
828
|
}).catch(error => {
|
|
@@ -809,7 +845,7 @@ class AuthWeb {
|
|
|
809
845
|
const base64 = btoa(String.fromCharCode(...bytes));
|
|
810
846
|
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
811
847
|
}
|
|
812
|
-
async exchangeMicrosoftCodeForTokens(code, codeVerifier, clientId, redirectUri, tenant, expectedNonce, scopes) {
|
|
848
|
+
async exchangeMicrosoftCodeForTokens(code, codeVerifier, clientId, redirectUri, tenant, expectedNonce, scopes, generation) {
|
|
813
849
|
const authBaseUrl = this.getMicrosoftAuthBaseUrl(tenant, this._config.microsoftB2cDomain);
|
|
814
850
|
const tokenUrl = `${authBaseUrl}oauth2/v2.0/token`;
|
|
815
851
|
const body = new URLSearchParams({
|
|
@@ -827,6 +863,9 @@ class AuthWeb {
|
|
|
827
863
|
body: body.toString()
|
|
828
864
|
});
|
|
829
865
|
const json = await this.parseResponseObject(response);
|
|
866
|
+
if (generation !== undefined) {
|
|
867
|
+
this.assertActiveGeneration(generation);
|
|
868
|
+
}
|
|
830
869
|
if (!response.ok) {
|
|
831
870
|
throw new AuthWebError("token_error", getOptionalString(json, "error_description") ?? getOptionalString(json, "error") ?? "Token exchange failed");
|
|
832
871
|
}
|
|
@@ -924,7 +963,7 @@ class AuthWeb {
|
|
|
924
963
|
});
|
|
925
964
|
return _appleSdkLoadPromise;
|
|
926
965
|
}
|
|
927
|
-
async loginApple() {
|
|
966
|
+
async loginApple(options, generation) {
|
|
928
967
|
const clientId = this._config.appleWebClientId;
|
|
929
968
|
if (!clientId) {
|
|
930
969
|
throw new Error("Apple Web Client ID not configured. Add 'APPLE_WEB_CLIENT_ID' to your .env file.");
|
|
@@ -935,15 +974,20 @@ class AuthWeb {
|
|
|
935
974
|
}
|
|
936
975
|
window.AppleID.auth.init({
|
|
937
976
|
clientId,
|
|
938
|
-
scope: "name email",
|
|
977
|
+
scope: (options?.scopes?.length ? options.scopes : ["name", "email"]).join(" "),
|
|
939
978
|
redirectURI: window.location.origin,
|
|
979
|
+
nonce: options?.nonce,
|
|
940
980
|
usePopup: true
|
|
941
981
|
});
|
|
942
982
|
try {
|
|
943
983
|
const response = await window.AppleID.auth.signIn();
|
|
984
|
+
if (generation !== undefined) {
|
|
985
|
+
this.assertActiveGeneration(generation);
|
|
986
|
+
}
|
|
944
987
|
const user = {
|
|
945
988
|
provider: "apple",
|
|
946
989
|
idToken: response.authorization.id_token,
|
|
990
|
+
authorizationCode: response.authorization.code,
|
|
947
991
|
email: response.user?.email,
|
|
948
992
|
name: response.user?.name ? `${response.user.name.firstName} ${response.user.name.lastName}`.trim() : undefined
|
|
949
993
|
};
|
|
@@ -966,8 +1010,12 @@ class AuthWeb {
|
|
|
966
1010
|
this.notify();
|
|
967
1011
|
}
|
|
968
1012
|
logout() {
|
|
1013
|
+
this._sessionGeneration++;
|
|
969
1014
|
this._currentUser = undefined;
|
|
970
1015
|
this._grantedScopes = [];
|
|
1016
|
+
this._refreshPromise = undefined;
|
|
1017
|
+
this._pendingGoogleNonce = undefined;
|
|
1018
|
+
this._loginInFlight = false;
|
|
971
1019
|
this.removeFromCache(CACHE_KEY);
|
|
972
1020
|
this.removeFromCache(SCOPES_KEY);
|
|
973
1021
|
this.removeFromCache(MS_REFRESH_TOKEN_KEY);
|
|
@@ -990,7 +1038,12 @@ class AuthWeb {
|
|
|
990
1038
|
this.notify();
|
|
991
1039
|
}
|
|
992
1040
|
name = "Auth";
|
|
993
|
-
dispose() {
|
|
1041
|
+
dispose() {
|
|
1042
|
+
this._disposed = true;
|
|
1043
|
+
this.logout();
|
|
1044
|
+
this._listeners = [];
|
|
1045
|
+
this._tokenListeners = [];
|
|
1046
|
+
}
|
|
994
1047
|
equals(other) {
|
|
995
1048
|
return other === this;
|
|
996
1049
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_logger","require","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","default","expoConfig","extra","error","logger","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","exports"],"sourceRoot":"../../src","sources":["Auth.web.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_logger","require","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","default","expoConfig","extra","error","logger","debug","String","AuthWeb","_grantedScopes","_listeners","_tokenListeners","_browserStorageResolved","_loginInFlight","_sessionGeneration","_disposed","_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","authorizationCode","saveRefreshToken","loadRefreshToken","cached","parsedUser","JSON","parse","_currentUser","removeFromCache","parsedScopes","currentUser","grantedScopes","hasPlayServices","onAuthStateChanged","callback","push","l","onTokensRefreshed","notify","listener","notifyTokenListeners","tokens","runLoginOperation","operation","assertActiveGeneration","generation","login","options","loginHint","log","loginGoogle","loginMicrosoft","tenant","prompt","loginApple","e","mapError","requestScopes","newScopes","revokeScopes","s","includes","stringify","updateUser","revokeAccess","logout","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","forceAccountPicker","hostedDomain","openIDRealm","width","height","left","screenX","outerWidth","top","screenY","outerHeight","open","hash","slice","params","code","errorDescription","userId","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","userToPersist","setLoggingEnabled","enabled","setEnabled","setWebStorageAdapter","dispose","equals","other","AuthModule","exports"],"sourceRoot":"../../src","sources":["Auth.web.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,6 +45,16 @@ function createAuthService(getAuth) {
|
|
|
45
45
|
revokeScopes(scopes) {
|
|
46
46
|
return wrapAuthOperation(() => getAuth().revokeScopes(scopes));
|
|
47
47
|
},
|
|
48
|
+
revokeAccess() {
|
|
49
|
+
return wrapAuthOperation(async () => {
|
|
50
|
+
const auth = getAuth();
|
|
51
|
+
if (auth.revokeAccess) {
|
|
52
|
+
await auth.revokeAccess();
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
auth.logout();
|
|
56
|
+
});
|
|
57
|
+
},
|
|
48
58
|
getAccessToken() {
|
|
49
59
|
return wrapAuthOperation(() => getAuth().getAccessToken());
|
|
50
60
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_authError","require","wrapAuthOperation","operation","e","AuthError","from","wrapSyncAuthOperation","createAuthService","getAuth","name","currentUser","grantedScopes","scopes","Array","isArray","hasPlayServices","login","provider","options","requestScopes","revokeScopes","
|
|
1
|
+
{"version":3,"names":["_authError","require","wrapAuthOperation","operation","e","AuthError","from","wrapSyncAuthOperation","createAuthService","getAuth","name","currentUser","grantedScopes","scopes","Array","isArray","hasPlayServices","login","provider","options","requestScopes","revokeScopes","revokeAccess","auth","logout","getAccessToken","refreshToken","silentRestore","onAuthStateChanged","callback","onTokensRefreshed","setLoggingEnabled","enabled","dispose","equals","other"],"sourceRoot":"../../src","sources":["create-auth-service.ts"],"mappings":"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","ignoreList":[]}
|