react-native-nitro-auth 0.5.10 → 0.5.12
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/.watchmanconfig +6 -0
- package/CHANGELOG.md +33 -0
- package/README.md +1 -1
- package/android/src/main/java/com/auth/AuthAdapter.kt +1 -1
- package/ios/AuthAdapter.swift +5 -5
- package/lib/commonjs/create-auth-service.js +33 -14
- package/lib/commonjs/create-auth-service.js.map +1 -1
- package/lib/commonjs/ui/social-button.web.js +3 -3
- package/lib/commonjs/ui/social-button.web.js.map +1 -1
- package/lib/commonjs/utils/auth-error.js +11 -0
- package/lib/commonjs/utils/auth-error.js.map +1 -1
- package/lib/module/create-auth-service.js +33 -14
- package/lib/module/create-auth-service.js.map +1 -1
- package/lib/module/ui/social-button.web.js +3 -3
- package/lib/module/ui/social-button.web.js.map +1 -1
- package/lib/module/utils/auth-error.js +11 -0
- package/lib/module/utils/auth-error.js.map +1 -1
- package/lib/typescript/commonjs/create-auth-service.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/auth-error.d.ts.map +1 -1
- package/lib/typescript/module/create-auth-service.d.ts.map +1 -1
- package/lib/typescript/module/utils/auth-error.d.ts.map +1 -1
- package/package.json +8 -2
- package/src/create-auth-service.ts +34 -14
- package/src/ui/social-button.web.tsx +3 -3
- package/src/utils/auth-error.ts +14 -0
package/.watchmanconfig
ADDED
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,38 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.12 - 2026-05-13
|
|
4
|
+
|
|
5
|
+
### Changed
|
|
6
|
+
|
|
7
|
+
- Updated the Expo example to the current SDK 55 recommended `expo`, `expo-build-properties`, and `expo-system-ui` patch ranges.
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Fixed the Android example launcher icon by adding an adaptive icon foreground and dark brand background.
|
|
12
|
+
- Normalized web `SocialButton` and native login failures so presentation-anchor and missing-code errors surface as stable `AuthError` codes.
|
|
13
|
+
- Shipped package-level Watchman ignores for Android CMake cache output so consumers avoid noisy native build watcher events.
|
|
14
|
+
|
|
15
|
+
## 0.5.11 - 2026-05-05
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
|
|
19
|
+
- Updated the Expo example to the Expo SDK 55 recommended `expo@~55.0.23` patch and Android API 36 target.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- Wrapped synchronous native service failures in `AuthError` so public service errors keep a consistent code contract.
|
|
24
|
+
|
|
25
|
+
### Verified
|
|
26
|
+
|
|
27
|
+
- `bun install --frozen-lockfile`
|
|
28
|
+
- `bunx expo install --check --cwd apps/example`
|
|
29
|
+
- `bunx expo-doctor@latest apps/example`
|
|
30
|
+
- `bun run check:ci`
|
|
31
|
+
- `bun run --cwd packages/react-native-nitro-auth test:coverage -- --runInBand`
|
|
32
|
+
- `bun run --cwd packages/react-native-nitro-auth test:cpp:coverage`
|
|
33
|
+
- `bun run example:prebuild`
|
|
34
|
+
- `bun run publish-package:dry-run`
|
|
35
|
+
|
|
3
36
|
## 0.5.10 - 2026-04-27
|
|
4
37
|
|
|
5
38
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# react-native-nitro-auth
|
|
2
2
|
|
|
3
|
-

|
|
4
4
|

|
|
5
5
|

|
|
6
6
|

|
|
@@ -321,7 +321,7 @@ object AuthAdapter {
|
|
|
321
321
|
}
|
|
322
322
|
if (code == null) {
|
|
323
323
|
clearPkceState()
|
|
324
|
-
nativeOnLoginError(origin, "
|
|
324
|
+
nativeOnLoginError(origin, "token_error", "No authorization code in response")
|
|
325
325
|
return
|
|
326
326
|
}
|
|
327
327
|
exchangeCodeForTokens(code)
|
package/ios/AuthAdapter.swift
CHANGED
|
@@ -27,7 +27,7 @@ public class AuthAdapter: NSObject {
|
|
|
27
27
|
|
|
28
28
|
DispatchQueue.main.async {
|
|
29
29
|
guard let rootVC = presentingViewController() else {
|
|
30
|
-
completion(nil, "
|
|
30
|
+
completion(nil, "configuration_error")
|
|
31
31
|
return
|
|
32
32
|
}
|
|
33
33
|
|
|
@@ -63,7 +63,7 @@ public class AuthAdapter: NSObject {
|
|
|
63
63
|
|
|
64
64
|
DispatchQueue.main.async {
|
|
65
65
|
guard let window = activeWindow() else {
|
|
66
|
-
completion(nil, "
|
|
66
|
+
completion(nil, "configuration_error")
|
|
67
67
|
return
|
|
68
68
|
}
|
|
69
69
|
let contextProvider = AppleSignInContextProvider(anchor: window)
|
|
@@ -184,7 +184,7 @@ public class AuthAdapter: NSObject {
|
|
|
184
184
|
}
|
|
185
185
|
|
|
186
186
|
guard let code = params["code"] else {
|
|
187
|
-
completeAndClearSession(nil, "
|
|
187
|
+
completeAndClearSession(nil, "token_error")
|
|
188
188
|
return
|
|
189
189
|
}
|
|
190
190
|
|
|
@@ -203,7 +203,7 @@ public class AuthAdapter: NSObject {
|
|
|
203
203
|
}
|
|
204
204
|
|
|
205
205
|
guard let window = activeWindow() else {
|
|
206
|
-
completeAndClearSession(nil, "
|
|
206
|
+
completeAndClearSession(nil, "configuration_error")
|
|
207
207
|
return
|
|
208
208
|
}
|
|
209
209
|
let contextProvider = WebAuthContextProvider(anchor: window)
|
|
@@ -440,7 +440,7 @@ public class AuthAdapter: NSObject {
|
|
|
440
440
|
if let currentUser = GIDSignIn.sharedInstance.currentUser {
|
|
441
441
|
DispatchQueue.main.async {
|
|
442
442
|
guard let rootVC = presentingViewController() else {
|
|
443
|
-
completion(nil, "
|
|
443
|
+
completion(nil, "configuration_error")
|
|
444
444
|
return
|
|
445
445
|
}
|
|
446
446
|
currentUser.addScopes(scopes, presenting: rootVC) { result, error in
|
|
@@ -12,20 +12,29 @@ async function wrapAuthOperation(operation) {
|
|
|
12
12
|
throw _authError.AuthError.from(e);
|
|
13
13
|
}
|
|
14
14
|
}
|
|
15
|
+
function wrapSyncAuthOperation(operation) {
|
|
16
|
+
try {
|
|
17
|
+
return operation();
|
|
18
|
+
} catch (e) {
|
|
19
|
+
throw _authError.AuthError.from(e);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
15
22
|
function createAuthService(getAuth) {
|
|
16
23
|
return {
|
|
17
24
|
get name() {
|
|
18
|
-
return getAuth().name;
|
|
25
|
+
return wrapSyncAuthOperation(() => getAuth().name);
|
|
19
26
|
},
|
|
20
27
|
get currentUser() {
|
|
21
|
-
return getAuth().currentUser;
|
|
28
|
+
return wrapSyncAuthOperation(() => getAuth().currentUser);
|
|
22
29
|
},
|
|
23
30
|
get grantedScopes() {
|
|
24
|
-
|
|
25
|
-
|
|
31
|
+
return wrapSyncAuthOperation(() => {
|
|
32
|
+
const scopes = getAuth().grantedScopes;
|
|
33
|
+
return Array.isArray(scopes) ? scopes : [];
|
|
34
|
+
});
|
|
26
35
|
},
|
|
27
36
|
get hasPlayServices() {
|
|
28
|
-
return getAuth().hasPlayServices;
|
|
37
|
+
return wrapSyncAuthOperation(() => getAuth().hasPlayServices);
|
|
29
38
|
},
|
|
30
39
|
login(provider, options) {
|
|
31
40
|
return wrapAuthOperation(() => getAuth().login(provider, options));
|
|
@@ -43,28 +52,38 @@ function createAuthService(getAuth) {
|
|
|
43
52
|
return wrapAuthOperation(() => getAuth().refreshToken());
|
|
44
53
|
},
|
|
45
54
|
logout() {
|
|
46
|
-
|
|
55
|
+
wrapSyncAuthOperation(() => {
|
|
56
|
+
getAuth().logout();
|
|
57
|
+
});
|
|
47
58
|
},
|
|
48
59
|
silentRestore() {
|
|
49
60
|
return wrapAuthOperation(() => getAuth().silentRestore());
|
|
50
61
|
},
|
|
51
62
|
onAuthStateChanged(callback) {
|
|
52
|
-
|
|
53
|
-
|
|
63
|
+
return wrapSyncAuthOperation(() => {
|
|
64
|
+
const auth = getAuth();
|
|
65
|
+
return auth.onAuthStateChanged?.(callback) ?? (() => {});
|
|
66
|
+
});
|
|
54
67
|
},
|
|
55
68
|
onTokensRefreshed(callback) {
|
|
56
|
-
|
|
57
|
-
|
|
69
|
+
return wrapSyncAuthOperation(() => {
|
|
70
|
+
const auth = getAuth();
|
|
71
|
+
return auth.onTokensRefreshed?.(callback) ?? (() => {});
|
|
72
|
+
});
|
|
58
73
|
},
|
|
59
74
|
setLoggingEnabled(enabled) {
|
|
60
|
-
|
|
61
|
-
|
|
75
|
+
wrapSyncAuthOperation(() => {
|
|
76
|
+
const auth = getAuth();
|
|
77
|
+
auth.setLoggingEnabled?.(enabled);
|
|
78
|
+
});
|
|
62
79
|
},
|
|
63
80
|
dispose() {
|
|
64
|
-
|
|
81
|
+
wrapSyncAuthOperation(() => {
|
|
82
|
+
getAuth().dispose();
|
|
83
|
+
});
|
|
65
84
|
},
|
|
66
85
|
equals(other) {
|
|
67
|
-
return getAuth().equals(other);
|
|
86
|
+
return wrapSyncAuthOperation(() => getAuth().equals(other));
|
|
68
87
|
}
|
|
69
88
|
};
|
|
70
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_authError","require","wrapAuthOperation","operation","e","AuthError","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":";;;;;;AAOA,IAAAA,UAAA,GAAAC,OAAA;AAWA,eAAeC,iBAAiBA,CAAIC,SAA2B,EAAc;EAC3E,IAAI;IACF,OAAO,MAAMA,SAAS,CAAC,CAAC;EAC1B,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,MAAMC,oBAAS,CAACC,IAAI,CAACF,CAAC,CAAC;EACzB;AACF;
|
|
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","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":[]}
|
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.SocialButton = void 0;
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _reactNative = require("react-native");
|
|
9
|
-
var
|
|
9
|
+
var _serviceWeb = require("../service.web.js");
|
|
10
10
|
var _logger = require("../utils/logger.js");
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
12
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
@@ -33,7 +33,7 @@ const getBackgroundColor = ({
|
|
|
33
33
|
};
|
|
34
34
|
const getTextColor = variant => variant === "white" || variant === "outline" ? "#000000" : "#FFFFFF";
|
|
35
35
|
async function performLogin(provider) {
|
|
36
|
-
await
|
|
36
|
+
await _serviceWeb.AuthService.login(provider);
|
|
37
37
|
}
|
|
38
38
|
const SocialButton = ({
|
|
39
39
|
provider,
|
|
@@ -56,7 +56,7 @@ const SocialButton = ({
|
|
|
56
56
|
setLoading(true);
|
|
57
57
|
try {
|
|
58
58
|
await performLogin(provider);
|
|
59
|
-
const user =
|
|
59
|
+
const user = _serviceWeb.AuthService.currentUser;
|
|
60
60
|
if (user) {
|
|
61
61
|
onSuccess?.(user);
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_serviceWeb","_logger","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PROVIDER_LABELS","google","apple","microsoft","PROVIDER_PRIMARY_BACKGROUND","getBackgroundColor","disabled","variant","provider","getTextColor","performLogin","AuthService","login","SocialButton","borderRadius","style","textStyle","onSuccess","onError","onPress","loading","setLoading","useState","handleLogin","user","currentUser","error","process","env","NODE_ENV","logger","isDisabled","getBorderColor","jsx","Pressable","styles","button","backgroundColor","borderColor","borderWidth","children","View","content","ActivityIndicator","size","color","jsxs","Fragment","iconPlaceholder","Text","iconText","microsoftIconText","text","exports","StyleSheet","create","paddingVertical","paddingHorizontal","minHeight","justifyContent","alignItems","width","flexDirection","marginRight","height","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["ui/social-button.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAyC,IAAAI,WAAA,GAAAJ,OAAA;AAAA,SAAAD,wBAAAM,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAR,uBAAA,YAAAA,CAAAM,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAiBzC,MAAMkB,eAA6C,GAAG;EACpDC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,SAAS,EAAE;AACb,CAAC;AAED,MAAMC,2BAAyD,GAAG;EAChEH,MAAM,EAAE,SAAS;EACjBC,KAAK,EAAE,SAAS;EAChBC,SAAS,EAAE;AACb,CAAC;AAED,MAAME,kBAAkB,GAAGA,CAAC;EAC1BC,QAAQ;EACRC,OAAO;EACPC;AAKF,CAAC,KAAa;EACZ,IAAIF,QAAQ,EAAE,OAAO,SAAS;EAC9B,IAAIC,OAAO,KAAK,OAAO,EAAE,OAAO,SAAS;EACzC,IAAIA,OAAO,KAAK,OAAO,EAAE,OAAO,SAAS;EACzC,IAAIA,OAAO,KAAK,SAAS,EAAE,OAAO,aAAa;EAC/C,OAAOH,2BAA2B,CAACI,QAAQ,CAAC;AAC9C,CAAC;AAED,MAAMC,YAAY,GAAIF,OAA4B,IAChDA,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,SAAS,GAAG,SAAS,GAAG,SAAS;AAEtE,eAAeG,YAAYA,CAACF,QAAsB,EAAiB;EACjE,MAAMG,uBAAW,CAACC,KAAK,CAACJ,QAAQ,CAAC;AACnC;AAEO,MAAMK,YAAY,GAAGA,CAAC;EAC3BL,QAAQ;EACRD,OAAO,GAAG,SAAS;EACnBO,YAAY,GAAG,CAAC;EAChBC,KAAK;EACLC,SAAS;EACTV,QAAQ;EACRW,SAAS;EACTC,OAAO;EACPC;AACiB,CAAC,KAAK;EACvB,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EAE7C,MAAMC,WAAW,GAAG,MAAAA,CAAA,KAAY;IAC9B,IAAIH,OAAO,IAAId,QAAQ,EAAE;IACzB,IAAIa,OAAO,EAAE;MACXA,OAAO,CAAC,CAAC;MACT;IACF;IAEAE,UAAU,CAAC,IAAI,CAAC;IAChB,IAAI;MACF,MAAMX,YAAY,CAACF,QAAQ,CAAC;MAC5B,MAAMgB,IAAI,GAAGb,uBAAW,CAACc,WAAW;MACpC,IAAID,IAAI,EAAE;QACRP,SAAS,GAAGO,IAAI,CAAC;MACnB;IACF,CAAC,CAAC,OAAOE,KAAK,EAAE;MACd,IAAIR,OAAO,EAAE;QACXA,OAAO,CAACQ,KAAK,CAAC;MAChB,CAAC,MAAM,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;QAChDC,cAAM,CAACJ,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;MACtD;IACF,CAAC,SAAS;MACRL,UAAU,CAAC,KAAK,CAAC;IACnB;EACF,CAAC;EACD,MAAMU,UAAU,GAAGX,OAAO,IAAId,QAAQ,KAAK,IAAI;EAE/C,MAAM0B,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAIzB,OAAO,KAAK,SAAS,EAAE,OAAO,SAAS;IAC3C,OAAO,aAAa;EACtB,CAAC;EAED,oBACE,IAAA3B,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAyD,SAAS;IACRnB,KAAK,EAAE,CACLoB,MAAM,CAACC,MAAM,EACb;MACEC,eAAe,EAAEhC,kBAAkB,CAAC;QAClCC,QAAQ,EAAEyB,UAAU;QACpBxB,OAAO;QACPC;MACF,CAAC,CAAC;MACFM,YAAY;MACZwB,WAAW,EAAEN,cAAc,CAAC,CAAC;MAC7BO,WAAW,EAAEhC,OAAO,KAAK,SAAS,GAAG,CAAC,GAAG;IAC3C,CAAC,EACDQ,KAAK,CACL;IACFI,OAAO,EAAEI,WAAY;IACrBjB,QAAQ,EAAEyB,UAAW;IAAAS,QAAA,eAErB,IAAA5D,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAgE,IAAI;MAAC1B,KAAK,EAAEoB,MAAM,CAACO,OAAQ;MAAAF,QAAA,EACzBpB,OAAO,gBACN,IAAAxC,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAkE,iBAAiB;QAACC,IAAI,EAAC,OAAO;QAACC,KAAK,EAAEpC,YAAY,CAACF,OAAO;MAAE,CAAE,CAAC,gBAEhE,IAAA3B,WAAA,CAAAkE,IAAA,EAAAlE,WAAA,CAAAmE,QAAA;QAAAP,QAAA,GACGhC,QAAQ,KAAK,QAAQ,IAAID,OAAO,KAAK,SAAS,iBAC7C,IAAA3B,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAgE,IAAI;UAAC1B,KAAK,EAAEoB,MAAM,CAACa,eAAgB;UAAAR,QAAA,eAClC,IAAA5D,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAwE,IAAI;YAAClC,KAAK,EAAEoB,MAAM,CAACe,QAAS;YAAAV,QAAA,EAAC;UAAC,CAAM;QAAC,CAClC,CACP,EACAhC,QAAQ,KAAK,OAAO,IAAID,OAAO,KAAK,SAAS,iBAC5C,IAAA3B,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAgE,IAAI;UAAC1B,KAAK,EAAEoB,MAAM,CAACa,eAAgB;UAAAR,QAAA,eAClC,IAAA5D,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAwE,IAAI;YACHlC,KAAK,EAAE,CAACoB,MAAM,CAACe,QAAQ,EAAE;cAAEL,KAAK,EAAEpC,YAAY,CAACF,OAAO;YAAE,CAAC,CAAE;YAAAiC,QAAA,EAC5D;UAED,CAAM;QAAC,CACH,CACP,EACAhC,QAAQ,KAAK,WAAW,IAAID,OAAO,KAAK,SAAS,iBAChD,IAAA3B,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAgE,IAAI;UAAC1B,KAAK,EAAEoB,MAAM,CAACa,eAAgB;UAAAR,QAAA,eAClC,IAAA5D,WAAA,CAAAqD,GAAA,EAACxD,YAAA,CAAAwE,IAAI;YAAClC,KAAK,EAAEoB,MAAM,CAACgB,iBAAkB;YAAAX,QAAA,EAAC;UAAC,CAAM;QAAC,CAC3C,CACP,eACD,IAAA5D,WAAA,CAAAkE,IAAA,EAACrE,YAAA,CAAAwE,IAAI;UACHlC,KAAK,EAAE,CAACoB,MAAM,CAACiB,IAAI,EAAE;YAAEP,KAAK,EAAEpC,YAAY,CAACF,OAAO;UAAE,CAAC,EAAES,SAAS,CAAE;UAAAwB,QAAA,GACnE,eACc,EAACxC,eAAe,CAACQ,QAAQ,CAAC;QAAA,CACnC,CAAC;MAAA,CACP;IACH,CACG;EAAC,CACE,CAAC;AAEhB,CAAC;AAAC6C,OAAA,CAAAxC,YAAA,GAAAA,YAAA;AAEF,MAAMsB,MAAM,GAAGmB,uBAAU,CAACC,MAAM,CAAC;EAC/BnB,MAAM,EAAE;IACNoB,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,SAAS,EAAE,EAAE;IACbC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE;EACjB,CAAC;EACDpB,OAAO,EAAE;IACPoB,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE;EAClB,CAAC;EACDX,eAAe,EAAE;IACfe,WAAW,EAAE,EAAE;IACfF,KAAK,EAAE,EAAE;IACTG,MAAM,EAAE,EAAE;IACVJ,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE;EAClB,CAAC;EACDP,IAAI,EAAE;IACJa,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDhB,QAAQ,EAAE;IACRe,QAAQ,EAAE;EACZ,CAAC;EACDd,iBAAiB,EAAE;IACjBc,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -7,14 +7,25 @@ exports.AuthError = void 0;
|
|
|
7
7
|
exports.isAuthErrorCode = isAuthErrorCode;
|
|
8
8
|
exports.toAuthErrorCode = toAuthErrorCode;
|
|
9
9
|
const 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"]);
|
|
10
|
+
const LEGACY_AUTH_ERROR_CODES = {
|
|
11
|
+
no_window: "configuration_error"
|
|
12
|
+
};
|
|
10
13
|
function isAuthErrorCode(value) {
|
|
11
14
|
return AUTH_ERROR_CODES.has(value);
|
|
12
15
|
}
|
|
13
16
|
function toAuthErrorCode(raw) {
|
|
17
|
+
const normalized = LEGACY_AUTH_ERROR_CODES[raw];
|
|
18
|
+
if (normalized) {
|
|
19
|
+
return normalized;
|
|
20
|
+
}
|
|
14
21
|
if (isAuthErrorCode(raw)) {
|
|
15
22
|
return raw;
|
|
16
23
|
}
|
|
17
24
|
const prefix = raw.split(":", 1)[0]?.trim();
|
|
25
|
+
const normalizedPrefix = prefix ? LEGACY_AUTH_ERROR_CODES[prefix] : undefined;
|
|
26
|
+
if (normalizedPrefix) {
|
|
27
|
+
return normalizedPrefix;
|
|
28
|
+
}
|
|
18
29
|
if (prefix && isAuthErrorCode(prefix)) {
|
|
19
30
|
return prefix;
|
|
20
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AUTH_ERROR_CODES","Set","isAuthErrorCode","value","has","toAuthErrorCode","raw","prefix","split","trim","AuthError","Error","constructor","message","String","code","name","underlyingMessage","
|
|
1
|
+
{"version":3,"names":["AUTH_ERROR_CODES","Set","LEGACY_AUTH_ERROR_CODES","no_window","isAuthErrorCode","value","has","toAuthErrorCode","raw","normalized","prefix","split","trim","normalizedPrefix","undefined","AuthError","Error","constructor","message","String","code","name","underlyingMessage","from","e","exports"],"sourceRoot":"../../../src","sources":["utils/auth-error.ts"],"mappings":";;;;;;;;AAEA,MAAMA,gBAAqC,GAAG,IAAIC,GAAG,CAAgB,CACnE,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,CACV,CAAC;AAEF,MAAMC,uBAAgE,GAAG;EACvEC,SAAS,EAAE;AACb,CAAC;AAEM,SAASC,eAAeA,CAACC,KAAa,EAA0B;EACrE,OAAOL,gBAAgB,CAACM,GAAG,CAACD,KAAK,CAAC;AACpC;AAEO,SAASE,eAAeA,CAACC,GAAW,EAAiB;EAC1D,MAAMC,UAAU,GAAGP,uBAAuB,CAACM,GAAG,CAAC;EAC/C,IAAIC,UAAU,EAAE;IACd,OAAOA,UAAU;EACnB;EAEA,IAAIL,eAAe,CAACI,GAAG,CAAC,EAAE;IACxB,OAAOA,GAAG;EACZ;EAEA,MAAME,MAAM,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEC,IAAI,CAAC,CAAC;EAC3C,MAAMC,gBAAgB,GAAGH,MAAM,GAAGR,uBAAuB,CAACQ,MAAM,CAAC,GAAGI,SAAS;EAC7E,IAAID,gBAAgB,EAAE;IACpB,OAAOA,gBAAgB;EACzB;EAEA,IAAIH,MAAM,IAAIN,eAAe,CAACM,MAAM,CAAC,EAAE;IACrC,OAAOA,MAAM;EACf;EAEA,OAAO,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,SAAS,SAASC,KAAK,CAAC;EAInCC,WAAWA,CAACT,GAAY,EAAE;IACxB,MAAMU,OAAO,GAAGV,GAAG,YAAYQ,KAAK,GAAGR,GAAG,CAACU,OAAO,GAAGC,MAAM,CAACX,GAAG,CAAC;IAChE,MAAMY,IAAI,GAAGb,eAAe,CAACW,OAAO,CAAC;IACrC,KAAK,CAACE,IAAI,CAAC;IACX,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,iBAAiB,GAAGF,IAAI,KAAKF,OAAO,GAAGA,OAAO,GAAGJ,SAAS;EACjE;EAEA,OAAOS,IAAIA,CAACC,CAAU,EAAa;IACjC,OAAOA,CAAC,YAAYT,SAAS,GAAGS,CAAC,GAAG,IAAIT,SAAS,CAACS,CAAC,CAAC;EACtD;AACF;AAACC,OAAA,CAAAV,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -8,20 +8,29 @@ async function wrapAuthOperation(operation) {
|
|
|
8
8
|
throw AuthError.from(e);
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
|
+
function wrapSyncAuthOperation(operation) {
|
|
12
|
+
try {
|
|
13
|
+
return operation();
|
|
14
|
+
} catch (e) {
|
|
15
|
+
throw AuthError.from(e);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
11
18
|
export function createAuthService(getAuth) {
|
|
12
19
|
return {
|
|
13
20
|
get name() {
|
|
14
|
-
return getAuth().name;
|
|
21
|
+
return wrapSyncAuthOperation(() => getAuth().name);
|
|
15
22
|
},
|
|
16
23
|
get currentUser() {
|
|
17
|
-
return getAuth().currentUser;
|
|
24
|
+
return wrapSyncAuthOperation(() => getAuth().currentUser);
|
|
18
25
|
},
|
|
19
26
|
get grantedScopes() {
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
return wrapSyncAuthOperation(() => {
|
|
28
|
+
const scopes = getAuth().grantedScopes;
|
|
29
|
+
return Array.isArray(scopes) ? scopes : [];
|
|
30
|
+
});
|
|
22
31
|
},
|
|
23
32
|
get hasPlayServices() {
|
|
24
|
-
return getAuth().hasPlayServices;
|
|
33
|
+
return wrapSyncAuthOperation(() => getAuth().hasPlayServices);
|
|
25
34
|
},
|
|
26
35
|
login(provider, options) {
|
|
27
36
|
return wrapAuthOperation(() => getAuth().login(provider, options));
|
|
@@ -39,28 +48,38 @@ export function createAuthService(getAuth) {
|
|
|
39
48
|
return wrapAuthOperation(() => getAuth().refreshToken());
|
|
40
49
|
},
|
|
41
50
|
logout() {
|
|
42
|
-
|
|
51
|
+
wrapSyncAuthOperation(() => {
|
|
52
|
+
getAuth().logout();
|
|
53
|
+
});
|
|
43
54
|
},
|
|
44
55
|
silentRestore() {
|
|
45
56
|
return wrapAuthOperation(() => getAuth().silentRestore());
|
|
46
57
|
},
|
|
47
58
|
onAuthStateChanged(callback) {
|
|
48
|
-
|
|
49
|
-
|
|
59
|
+
return wrapSyncAuthOperation(() => {
|
|
60
|
+
const auth = getAuth();
|
|
61
|
+
return auth.onAuthStateChanged?.(callback) ?? (() => {});
|
|
62
|
+
});
|
|
50
63
|
},
|
|
51
64
|
onTokensRefreshed(callback) {
|
|
52
|
-
|
|
53
|
-
|
|
65
|
+
return wrapSyncAuthOperation(() => {
|
|
66
|
+
const auth = getAuth();
|
|
67
|
+
return auth.onTokensRefreshed?.(callback) ?? (() => {});
|
|
68
|
+
});
|
|
54
69
|
},
|
|
55
70
|
setLoggingEnabled(enabled) {
|
|
56
|
-
|
|
57
|
-
|
|
71
|
+
wrapSyncAuthOperation(() => {
|
|
72
|
+
const auth = getAuth();
|
|
73
|
+
auth.setLoggingEnabled?.(enabled);
|
|
74
|
+
});
|
|
58
75
|
},
|
|
59
76
|
dispose() {
|
|
60
|
-
|
|
77
|
+
wrapSyncAuthOperation(() => {
|
|
78
|
+
getAuth().dispose();
|
|
79
|
+
});
|
|
61
80
|
},
|
|
62
81
|
equals(other) {
|
|
63
|
-
return getAuth().equals(other);
|
|
82
|
+
return wrapSyncAuthOperation(() => getAuth().equals(other));
|
|
64
83
|
}
|
|
65
84
|
};
|
|
66
85
|
}
|
|
@@ -1 +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":";;AAOA,SAASA,SAAS,QAAQ,uBAAoB;AAW9C,eAAeC,iBAAiBA,CAAIC,SAA2B,EAAc;EAC3E,IAAI;IACF,OAAO,MAAMA,SAAS,CAAC,CAAC;EAC1B,CAAC,CAAC,OAAOC,CAAC,EAAE;IACV,MAAMH,SAAS,CAACI,IAAI,CAACD,CAAC,CAAC;EACzB;AACF;AAEA,OAAO,
|
|
1
|
+
{"version":3,"names":["AuthError","wrapAuthOperation","operation","e","from","wrapSyncAuthOperation","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":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
import React, { useState } from "react";
|
|
4
4
|
import { Pressable, Text, StyleSheet, View, ActivityIndicator } from "react-native";
|
|
5
|
-
import {
|
|
5
|
+
import { AuthService } from "../service.web.js";
|
|
6
6
|
import { logger } from "../utils/logger.js";
|
|
7
7
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
8
8
|
const PROVIDER_LABELS = {
|
|
@@ -28,7 +28,7 @@ const getBackgroundColor = ({
|
|
|
28
28
|
};
|
|
29
29
|
const getTextColor = variant => variant === "white" || variant === "outline" ? "#000000" : "#FFFFFF";
|
|
30
30
|
async function performLogin(provider) {
|
|
31
|
-
await
|
|
31
|
+
await AuthService.login(provider);
|
|
32
32
|
}
|
|
33
33
|
export const SocialButton = ({
|
|
34
34
|
provider,
|
|
@@ -51,7 +51,7 @@ export const SocialButton = ({
|
|
|
51
51
|
setLoading(true);
|
|
52
52
|
try {
|
|
53
53
|
await performLogin(provider);
|
|
54
|
-
const user =
|
|
54
|
+
const user = AuthService.currentUser;
|
|
55
55
|
if (user) {
|
|
56
56
|
onSuccess?.(user);
|
|
57
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useState","Pressable","Text","StyleSheet","View","ActivityIndicator","
|
|
1
|
+
{"version":3,"names":["React","useState","Pressable","Text","StyleSheet","View","ActivityIndicator","AuthService","logger","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PROVIDER_LABELS","google","apple","microsoft","PROVIDER_PRIMARY_BACKGROUND","getBackgroundColor","disabled","variant","provider","getTextColor","performLogin","login","SocialButton","borderRadius","style","textStyle","onSuccess","onError","onPress","loading","setLoading","handleLogin","user","currentUser","error","process","env","NODE_ENV","isDisabled","getBorderColor","styles","button","backgroundColor","borderColor","borderWidth","children","content","size","color","iconPlaceholder","iconText","microsoftIconText","text","create","paddingVertical","paddingHorizontal","minHeight","justifyContent","alignItems","width","flexDirection","marginRight","height","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["ui/social-button.web.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,14 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
const 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"]);
|
|
4
|
+
const LEGACY_AUTH_ERROR_CODES = {
|
|
5
|
+
no_window: "configuration_error"
|
|
6
|
+
};
|
|
4
7
|
export function isAuthErrorCode(value) {
|
|
5
8
|
return AUTH_ERROR_CODES.has(value);
|
|
6
9
|
}
|
|
7
10
|
export function toAuthErrorCode(raw) {
|
|
11
|
+
const normalized = LEGACY_AUTH_ERROR_CODES[raw];
|
|
12
|
+
if (normalized) {
|
|
13
|
+
return normalized;
|
|
14
|
+
}
|
|
8
15
|
if (isAuthErrorCode(raw)) {
|
|
9
16
|
return raw;
|
|
10
17
|
}
|
|
11
18
|
const prefix = raw.split(":", 1)[0]?.trim();
|
|
19
|
+
const normalizedPrefix = prefix ? LEGACY_AUTH_ERROR_CODES[prefix] : undefined;
|
|
20
|
+
if (normalizedPrefix) {
|
|
21
|
+
return normalizedPrefix;
|
|
22
|
+
}
|
|
12
23
|
if (prefix && isAuthErrorCode(prefix)) {
|
|
13
24
|
return prefix;
|
|
14
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["AUTH_ERROR_CODES","Set","isAuthErrorCode","value","has","toAuthErrorCode","raw","prefix","split","trim","AuthError","Error","constructor","message","String","code","name","underlyingMessage","
|
|
1
|
+
{"version":3,"names":["AUTH_ERROR_CODES","Set","LEGACY_AUTH_ERROR_CODES","no_window","isAuthErrorCode","value","has","toAuthErrorCode","raw","normalized","prefix","split","trim","normalizedPrefix","undefined","AuthError","Error","constructor","message","String","code","name","underlyingMessage","from","e"],"sourceRoot":"../../../src","sources":["utils/auth-error.ts"],"mappings":";;AAEA,MAAMA,gBAAqC,GAAG,IAAIC,GAAG,CAAgB,CACnE,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,CACV,CAAC;AAEF,MAAMC,uBAAgE,GAAG;EACvEC,SAAS,EAAE;AACb,CAAC;AAED,OAAO,SAASC,eAAeA,CAACC,KAAa,EAA0B;EACrE,OAAOL,gBAAgB,CAACM,GAAG,CAACD,KAAK,CAAC;AACpC;AAEA,OAAO,SAASE,eAAeA,CAACC,GAAW,EAAiB;EAC1D,MAAMC,UAAU,GAAGP,uBAAuB,CAACM,GAAG,CAAC;EAC/C,IAAIC,UAAU,EAAE;IACd,OAAOA,UAAU;EACnB;EAEA,IAAIL,eAAe,CAACI,GAAG,CAAC,EAAE;IACxB,OAAOA,GAAG;EACZ;EAEA,MAAME,MAAM,GAAGF,GAAG,CAACG,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAEC,IAAI,CAAC,CAAC;EAC3C,MAAMC,gBAAgB,GAAGH,MAAM,GAAGR,uBAAuB,CAACQ,MAAM,CAAC,GAAGI,SAAS;EAC7E,IAAID,gBAAgB,EAAE;IACpB,OAAOA,gBAAgB;EACzB;EAEA,IAAIH,MAAM,IAAIN,eAAe,CAACM,MAAM,CAAC,EAAE;IACrC,OAAOA,MAAM;EACf;EAEA,OAAO,SAAS;AAClB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMK,SAAS,SAASC,KAAK,CAAC;EAInCC,WAAWA,CAACT,GAAY,EAAE;IACxB,MAAMU,OAAO,GAAGV,GAAG,YAAYQ,KAAK,GAAGR,GAAG,CAACU,OAAO,GAAGC,MAAM,CAACX,GAAG,CAAC;IAChE,MAAMY,IAAI,GAAGb,eAAe,CAACW,OAAO,CAAC;IACrC,KAAK,CAACE,IAAI,CAAC;IACX,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,iBAAiB,GAAGF,IAAI,KAAKF,OAAO,GAAGA,OAAO,GAAGJ,SAAS;EACjE;EAEA,OAAOS,IAAIA,CAACC,CAAU,EAAa;IACjC,OAAOA,CAAC,YAAYT,SAAS,GAAGS,CAAC,GAAG,IAAIT,SAAS,CAACS,CAAC,CAAC;EACtD;AACF","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-auth-service.d.ts","sourceRoot":"","sources":["../../../src/create-auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAGtB,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"create-auth-service.d.ts","sourceRoot":"","sources":["../../../src/create-auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAGtB,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC;AAyB7B,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAkF3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAwBnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAqB1D;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,GAAG,EAAE,OAAO;IASxB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS;CAGnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-auth-service.d.ts","sourceRoot":"","sources":["../../../src/create-auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAGtB,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"create-auth-service.d.ts","sourceRoot":"","sources":["../../../src/create-auth-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAGtB,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC;AAyB7B,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAkF3D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAwBnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAqB1D;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,GAAG,EAAE,OAAO;IASxB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS;CAGnC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nitro-auth",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.12",
|
|
4
4
|
"description": "High-performance authentication library for React Native with Google Sign-In, Apple Sign-In, and Microsoft Sign-In support, powered by Nitro Modules (JSI)",
|
|
5
5
|
"main": "lib/commonjs/index.js",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"CHANGELOG.md",
|
|
21
21
|
"*.podspec",
|
|
22
22
|
"app.plugin.js",
|
|
23
|
+
".watchmanconfig",
|
|
23
24
|
"!**/__tests__",
|
|
24
25
|
"!**/__fixtures__",
|
|
25
26
|
"!**/__mocks__",
|
|
@@ -115,7 +116,12 @@
|
|
|
115
116
|
"esm": true
|
|
116
117
|
}
|
|
117
118
|
],
|
|
118
|
-
|
|
119
|
+
[
|
|
120
|
+
"typescript",
|
|
121
|
+
{
|
|
122
|
+
"tsc": "../../node_modules/.bin/tsc"
|
|
123
|
+
}
|
|
124
|
+
]
|
|
119
125
|
]
|
|
120
126
|
}
|
|
121
127
|
}
|
|
@@ -24,23 +24,33 @@ async function wrapAuthOperation<T>(operation: () => Promise<T>): Promise<T> {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
function wrapSyncAuthOperation<T>(operation: () => T): T {
|
|
28
|
+
try {
|
|
29
|
+
return operation();
|
|
30
|
+
} catch (e) {
|
|
31
|
+
throw AuthError.from(e);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
27
35
|
export function createAuthService(getAuth: AuthSource): Auth {
|
|
28
36
|
return {
|
|
29
37
|
get name() {
|
|
30
|
-
return getAuth().name;
|
|
38
|
+
return wrapSyncAuthOperation(() => getAuth().name);
|
|
31
39
|
},
|
|
32
40
|
|
|
33
41
|
get currentUser() {
|
|
34
|
-
return getAuth().currentUser;
|
|
42
|
+
return wrapSyncAuthOperation(() => getAuth().currentUser);
|
|
35
43
|
},
|
|
36
44
|
|
|
37
45
|
get grantedScopes() {
|
|
38
|
-
|
|
39
|
-
|
|
46
|
+
return wrapSyncAuthOperation(() => {
|
|
47
|
+
const scopes = getAuth().grantedScopes;
|
|
48
|
+
return Array.isArray(scopes) ? scopes : [];
|
|
49
|
+
});
|
|
40
50
|
},
|
|
41
51
|
|
|
42
52
|
get hasPlayServices() {
|
|
43
|
-
return getAuth().hasPlayServices;
|
|
53
|
+
return wrapSyncAuthOperation(() => getAuth().hasPlayServices);
|
|
44
54
|
},
|
|
45
55
|
|
|
46
56
|
login(provider: AuthProvider, options?: LoginOptions) {
|
|
@@ -64,7 +74,9 @@ export function createAuthService(getAuth: AuthSource): Auth {
|
|
|
64
74
|
},
|
|
65
75
|
|
|
66
76
|
logout() {
|
|
67
|
-
|
|
77
|
+
wrapSyncAuthOperation(() => {
|
|
78
|
+
getAuth().logout();
|
|
79
|
+
});
|
|
68
80
|
},
|
|
69
81
|
|
|
70
82
|
silentRestore() {
|
|
@@ -72,26 +84,34 @@ export function createAuthService(getAuth: AuthSource): Auth {
|
|
|
72
84
|
},
|
|
73
85
|
|
|
74
86
|
onAuthStateChanged(callback: (user: AuthUser | undefined) => void) {
|
|
75
|
-
|
|
76
|
-
|
|
87
|
+
return wrapSyncAuthOperation(() => {
|
|
88
|
+
const auth = getAuth() as AuthWithOptionalNativeMembers;
|
|
89
|
+
return auth.onAuthStateChanged?.(callback) ?? (() => {});
|
|
90
|
+
});
|
|
77
91
|
},
|
|
78
92
|
|
|
79
93
|
onTokensRefreshed(callback: (tokens: AuthTokens) => void) {
|
|
80
|
-
|
|
81
|
-
|
|
94
|
+
return wrapSyncAuthOperation(() => {
|
|
95
|
+
const auth = getAuth() as AuthWithOptionalNativeMembers;
|
|
96
|
+
return auth.onTokensRefreshed?.(callback) ?? (() => {});
|
|
97
|
+
});
|
|
82
98
|
},
|
|
83
99
|
|
|
84
100
|
setLoggingEnabled(enabled: boolean) {
|
|
85
|
-
|
|
86
|
-
|
|
101
|
+
wrapSyncAuthOperation(() => {
|
|
102
|
+
const auth = getAuth() as AuthWithOptionalNativeMembers;
|
|
103
|
+
auth.setLoggingEnabled?.(enabled);
|
|
104
|
+
});
|
|
87
105
|
},
|
|
88
106
|
|
|
89
107
|
dispose() {
|
|
90
|
-
|
|
108
|
+
wrapSyncAuthOperation(() => {
|
|
109
|
+
getAuth().dispose();
|
|
110
|
+
});
|
|
91
111
|
},
|
|
92
112
|
|
|
93
113
|
equals(other: Parameters<Auth["equals"]>[0]): boolean {
|
|
94
|
-
return getAuth().equals(other);
|
|
114
|
+
return wrapSyncAuthOperation(() => getAuth().equals(other));
|
|
95
115
|
},
|
|
96
116
|
};
|
|
97
117
|
}
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
View,
|
|
8
8
|
ActivityIndicator,
|
|
9
9
|
} from "react-native";
|
|
10
|
-
import {
|
|
10
|
+
import { AuthService } from "../service.web";
|
|
11
11
|
import { logger } from "../utils/logger";
|
|
12
12
|
import type { AuthProvider, AuthUser } from "../Auth.nitro";
|
|
13
13
|
|
|
@@ -57,7 +57,7 @@ const getTextColor = (variant: SocialButtonVariant): string =>
|
|
|
57
57
|
variant === "white" || variant === "outline" ? "#000000" : "#FFFFFF";
|
|
58
58
|
|
|
59
59
|
async function performLogin(provider: AuthProvider): Promise<void> {
|
|
60
|
-
await
|
|
60
|
+
await AuthService.login(provider);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
export const SocialButton = ({
|
|
@@ -83,7 +83,7 @@ export const SocialButton = ({
|
|
|
83
83
|
setLoading(true);
|
|
84
84
|
try {
|
|
85
85
|
await performLogin(provider);
|
|
86
|
-
const user =
|
|
86
|
+
const user = AuthService.currentUser;
|
|
87
87
|
if (user) {
|
|
88
88
|
onSuccess?.(user);
|
|
89
89
|
}
|
package/src/utils/auth-error.ts
CHANGED
|
@@ -18,16 +18,30 @@ const AUTH_ERROR_CODES: ReadonlySet<string> = new Set<AuthErrorCode>([
|
|
|
18
18
|
"unknown",
|
|
19
19
|
]);
|
|
20
20
|
|
|
21
|
+
const LEGACY_AUTH_ERROR_CODES: Readonly<Record<string, AuthErrorCode>> = {
|
|
22
|
+
no_window: "configuration_error",
|
|
23
|
+
};
|
|
24
|
+
|
|
21
25
|
export function isAuthErrorCode(value: string): value is AuthErrorCode {
|
|
22
26
|
return AUTH_ERROR_CODES.has(value);
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
export function toAuthErrorCode(raw: string): AuthErrorCode {
|
|
30
|
+
const normalized = LEGACY_AUTH_ERROR_CODES[raw];
|
|
31
|
+
if (normalized) {
|
|
32
|
+
return normalized;
|
|
33
|
+
}
|
|
34
|
+
|
|
26
35
|
if (isAuthErrorCode(raw)) {
|
|
27
36
|
return raw;
|
|
28
37
|
}
|
|
29
38
|
|
|
30
39
|
const prefix = raw.split(":", 1)[0]?.trim();
|
|
40
|
+
const normalizedPrefix = prefix ? LEGACY_AUTH_ERROR_CODES[prefix] : undefined;
|
|
41
|
+
if (normalizedPrefix) {
|
|
42
|
+
return normalizedPrefix;
|
|
43
|
+
}
|
|
44
|
+
|
|
31
45
|
if (prefix && isAuthErrorCode(prefix)) {
|
|
32
46
|
return prefix;
|
|
33
47
|
}
|