@norcy/react-native-toolkit 0.3.22 → 0.3.24
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/lib/commonjs/AppleLoginUtil.js +33 -83
- package/lib/commonjs/AppleLoginUtil.js.map +1 -1
- package/lib/commonjs/LoginManager.js +21 -29
- package/lib/commonjs/LoginManager.js.map +1 -1
- package/lib/commonjs/constant.js +1 -6
- package/lib/commonjs/constant.js.map +1 -1
- package/lib/module/AppleLoginUtil.js +33 -83
- package/lib/module/AppleLoginUtil.js.map +1 -1
- package/lib/module/LoginManager.js +22 -30
- package/lib/module/LoginManager.js.map +1 -1
- package/lib/module/constant.js +0 -5
- package/lib/module/constant.js.map +1 -1
- package/lib/typescript/AppleLoginUtil.d.ts +1 -19
- package/lib/typescript/AppleLoginUtil.d.ts.map +1 -1
- package/lib/typescript/LoginManager.d.ts +4 -4
- package/lib/typescript/LoginManager.d.ts.map +1 -1
- package/lib/typescript/constant.d.ts +0 -4
- package/lib/typescript/constant.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/AppleLoginUtil.ts +29 -50
- package/src/LoginManager.ts +29 -33
- package/src/constant.ts +0 -5
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.AppleLoginUtil = void 0;
|
|
7
7
|
var _reactNativeAppleAuthentication = require("@invertase/react-native-apple-authentication");
|
|
8
8
|
var _reactNativeDeviceInfo = require("react-native-device-info");
|
|
9
|
-
var _constant = require("./constant");
|
|
10
9
|
const AV = require('leancloud-storage');
|
|
11
10
|
const AppleLoginUtil = exports.AppleLoginUtil = {
|
|
12
11
|
// 这是监听苹果取消授权的回调,目前不需要
|
|
@@ -16,100 +15,51 @@ const AppleLoginUtil = exports.AppleLoginUtil = {
|
|
|
16
15
|
// });
|
|
17
16
|
// });
|
|
18
17
|
|
|
19
|
-
fetchAndUpdateCredentialState: async
|
|
18
|
+
fetchAndUpdateCredentialState: async user => {
|
|
20
19
|
console.log('User 正在登录鉴权:', user);
|
|
21
20
|
if (user === null) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
throw new Error('USER EMPTY');
|
|
22
|
+
}
|
|
23
|
+
const credentialState = await _reactNativeAppleAuthentication.appleAuth.getCredentialStateForUser(user);
|
|
24
|
+
if (credentialState === _reactNativeAppleAuthentication.appleAuth.State.AUTHORIZED) {
|
|
25
|
+
console.log('登录鉴权成功');
|
|
26
26
|
} else {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
console.log('登录鉴权成功');
|
|
30
|
-
callback({
|
|
31
|
-
result: _constant.LoginState.AUTHORIZED
|
|
32
|
-
});
|
|
33
|
-
} else {
|
|
34
|
-
console.warn('登录鉴权失败');
|
|
35
|
-
callback({
|
|
36
|
-
result: _constant.LoginState.NOTLOGIN,
|
|
37
|
-
error: 'Authorized Failed'
|
|
38
|
-
});
|
|
39
|
-
}
|
|
27
|
+
console.warn('登录鉴权失败');
|
|
28
|
+
throw new Error('Authorized Failed');
|
|
40
29
|
}
|
|
41
30
|
},
|
|
42
31
|
requestAppleUserForLogin: async () => {
|
|
43
32
|
if (!_reactNativeAppleAuthentication.appleAuth.isSupported) {
|
|
44
|
-
|
|
45
|
-
error: 'Apple Auth Not Supported'
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
// start a login request
|
|
50
|
-
try {
|
|
51
|
-
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
52
|
-
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGIN,
|
|
53
|
-
requestedScopes: [_reactNativeAppleAuthentication.appleAuth.Scope.EMAIL, _reactNativeAppleAuthentication.appleAuth.Scope.FULL_NAME]
|
|
54
|
-
});
|
|
55
|
-
console.log('appleAuthRequestResponse login', appleAuthRequestResponse);
|
|
56
|
-
const {
|
|
57
|
-
user: newUser,
|
|
58
|
-
email,
|
|
59
|
-
identityToken
|
|
60
|
-
} = appleAuthRequestResponse;
|
|
61
|
-
console.log(`Apple Authentication Completed, ${newUser}, ${email}`);
|
|
62
|
-
return {
|
|
63
|
-
user: newUser,
|
|
64
|
-
email: email,
|
|
65
|
-
identityToken: identityToken
|
|
66
|
-
};
|
|
67
|
-
} catch (error) {
|
|
68
|
-
if (error.code === _reactNativeAppleAuthentication.appleAuth.Error.CANCELED) {
|
|
69
|
-
// console.warn('User canceled Apple Sign in.');
|
|
70
|
-
return {
|
|
71
|
-
error: 'User Cancel Login',
|
|
72
|
-
code: error.code
|
|
73
|
-
};
|
|
74
|
-
} else {
|
|
75
|
-
// console.warn('登录鉴权出错: ', error);
|
|
76
|
-
return {
|
|
77
|
-
error: 'Login Request Fail',
|
|
78
|
-
code: error.code
|
|
79
|
-
};
|
|
80
|
-
}
|
|
33
|
+
throw new Error('Apple Auth Not Supported');
|
|
81
34
|
}
|
|
35
|
+
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
36
|
+
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGIN,
|
|
37
|
+
requestedScopes: [_reactNativeAppleAuthentication.appleAuth.Scope.EMAIL, _reactNativeAppleAuthentication.appleAuth.Scope.FULL_NAME]
|
|
38
|
+
});
|
|
39
|
+
console.log('appleAuthRequestResponse login', appleAuthRequestResponse);
|
|
40
|
+
const {
|
|
41
|
+
user: newUser,
|
|
42
|
+
email,
|
|
43
|
+
identityToken
|
|
44
|
+
} = appleAuthRequestResponse;
|
|
45
|
+
console.log(`Apple Authentication Completed, ${newUser}, ${email}`);
|
|
46
|
+
return {
|
|
47
|
+
user: newUser,
|
|
48
|
+
email,
|
|
49
|
+
identityToken
|
|
50
|
+
};
|
|
82
51
|
},
|
|
83
52
|
requestAppleUserForLogout: async () => {
|
|
84
53
|
if (!_reactNativeAppleAuthentication.appleAuth.isSupported) {
|
|
85
|
-
throw
|
|
86
|
-
error: 'Apple Auth Not Supported',
|
|
87
|
-
code: -1
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// start a login request
|
|
92
|
-
try {
|
|
93
|
-
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
94
|
-
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGOUT
|
|
95
|
-
});
|
|
96
|
-
console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);
|
|
97
|
-
return {
|
|
98
|
-
authorizationCode: appleAuthRequestResponse.authorizationCode
|
|
99
|
-
};
|
|
100
|
-
} catch (error) {
|
|
101
|
-
if (error.code === _reactNativeAppleAuthentication.appleAuth.Error.CANCELED) {
|
|
102
|
-
throw {
|
|
103
|
-
error: 'User Cancel Logout',
|
|
104
|
-
code: error.code
|
|
105
|
-
};
|
|
106
|
-
} else {
|
|
107
|
-
throw {
|
|
108
|
-
error: 'Logout Request Fail',
|
|
109
|
-
code: error.code
|
|
110
|
-
};
|
|
111
|
-
}
|
|
54
|
+
throw new Error('Apple Auth Not Supported');
|
|
112
55
|
}
|
|
56
|
+
const appleAuthRequestResponse = await _reactNativeAppleAuthentication.appleAuth.performRequest({
|
|
57
|
+
requestedOperation: _reactNativeAppleAuthentication.appleAuth.Operation.LOGOUT
|
|
58
|
+
});
|
|
59
|
+
console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);
|
|
60
|
+
return {
|
|
61
|
+
authorizationCode: appleAuthRequestResponse.authorizationCode
|
|
62
|
+
};
|
|
113
63
|
},
|
|
114
64
|
requestDeleteAccount: async () => {
|
|
115
65
|
if (_reactNativeAppleAuthentication.appleAuth.isSupported) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeAppleAuthentication","require","_reactNativeDeviceInfo","
|
|
1
|
+
{"version":3,"names":["_reactNativeAppleAuthentication","require","_reactNativeDeviceInfo","AV","AppleLoginUtil","exports","fetchAndUpdateCredentialState","user","console","log","Error","credentialState","appleAuth","getCredentialStateForUser","State","AUTHORIZED","warn","requestAppleUserForLogin","isSupported","appleAuthRequestResponse","performRequest","requestedOperation","Operation","LOGIN","requestedScopes","Scope","EMAIL","FULL_NAME","newUser","email","identityToken","requestAppleUserForLogout","LOGOUT","authorizationCode","requestDeleteAccount","token","Cloud","run","bundleId","getBundleId"],"sourceRoot":"../../src","sources":["AppleLoginUtil.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.LoginManager = void 0;
|
|
7
|
+
var _reactNativeAppleAuthentication = require("@invertase/react-native-apple-authentication");
|
|
7
8
|
var _reactNativeDeviceInfo = require("react-native-device-info");
|
|
8
9
|
var _AppleLoginUtil = require("./AppleLoginUtil");
|
|
9
10
|
var _Auth = require("./Auth");
|
|
@@ -30,12 +31,15 @@ const onLoginFinish = params => {
|
|
|
30
31
|
const {
|
|
31
32
|
isAuto = false,
|
|
32
33
|
error,
|
|
33
|
-
|
|
34
|
+
isCancel = false
|
|
34
35
|
} = params;
|
|
36
|
+
if (__DEV__ && !(error instanceof Error)) {
|
|
37
|
+
console.error('onLoginFinish: error should be an Error instance, got:', error);
|
|
38
|
+
}
|
|
35
39
|
const data = {
|
|
36
40
|
isAuto,
|
|
37
41
|
error,
|
|
38
|
-
|
|
42
|
+
isCancel
|
|
39
43
|
};
|
|
40
44
|
console.log('onLoginFail', data);
|
|
41
45
|
_Notification.Notification.postNotification('onLoginFail', data);
|
|
@@ -92,39 +96,27 @@ const LoginManager = exports.LoginManager = {
|
|
|
92
96
|
}
|
|
93
97
|
}
|
|
94
98
|
if (type === _constant.LoginType.LoginTypeApple) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
if (!user || error) {
|
|
102
|
-
onLoginFinish({
|
|
103
|
-
error,
|
|
104
|
-
code
|
|
105
|
-
});
|
|
106
|
-
return;
|
|
107
|
-
} else {
|
|
99
|
+
try {
|
|
100
|
+
const {
|
|
101
|
+
user,
|
|
102
|
+
email
|
|
103
|
+
} = await _AppleLoginUtil.AppleLoginUtil.requestAppleUserForLogin();
|
|
104
|
+
await _AppleLoginUtil.AppleLoginUtil.fetchAndUpdateCredentialState(user);
|
|
108
105
|
let userData = {
|
|
109
106
|
userId: user,
|
|
110
|
-
email
|
|
107
|
+
email,
|
|
111
108
|
authData: {
|
|
112
109
|
openid: user,
|
|
113
110
|
loginType: 'apple'
|
|
114
111
|
}
|
|
115
112
|
};
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
});
|
|
124
|
-
} else {
|
|
125
|
-
loadingCallback?.();
|
|
126
|
-
doLogin(userData.authData, userData);
|
|
127
|
-
}
|
|
113
|
+
loadingCallback?.();
|
|
114
|
+
doLogin(userData.authData, userData);
|
|
115
|
+
} catch (error) {
|
|
116
|
+
const code = error instanceof Error && 'code' in error ? error.code : undefined;
|
|
117
|
+
onLoginFinish({
|
|
118
|
+
error,
|
|
119
|
+
isCancel: code === _reactNativeAppleAuthentication.appleAuth.Error.CANCELED
|
|
128
120
|
});
|
|
129
121
|
}
|
|
130
122
|
} else if (type === _constant.LoginType.LoginTypeWeChat) {
|
|
@@ -213,7 +205,7 @@ const LoginManager = exports.LoginManager = {
|
|
|
213
205
|
}
|
|
214
206
|
} else {
|
|
215
207
|
onLoginFinish({
|
|
216
|
-
error: 'Unknown Login Type'
|
|
208
|
+
error: new Error('Unknown Login Type')
|
|
217
209
|
});
|
|
218
210
|
}
|
|
219
211
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_reactNativeAppleAuthentication","require","_reactNativeDeviceInfo","_AppleLoginUtil","_Auth","_HuaweiLoginUtil","_Notification","_PrefData","_Tool","_WeChatLoginUtil","_constant","onLoginFinish","params","isAuto","user","PrefData","setValue","BuildInPrefs","LastLoginType","type","data","console","log","Notification","postNotification","error","isCancel","__DEV__","Error","doLogin","authData","userData","Auth","loginWithAuthData","LoginManager","exports","autoLogin","login","devAuthData","loadingCallback","qrcodeCallback","_","LoginType","LoginTypeApple","email","AppleLoginUtil","requestAppleUserForLogin","fetchAndUpdateCredentialState","userId","openid","loginType","code","undefined","appleAuth","CANCELED","LoginTypeWeChat","nickname","headimgurl","unionid","WeChatLoginUtil","ToolkitConfig","WeiXinId","WeiXinSecret","LoginTypeWeChatScan","doLoginByScan","LoginTypeVisitor","uniqueId","getUniqueIdSync","LoginTypeHuawei","HuaweiLoginUtil","logOut","callback","isLogin","currentUser","isVisitor","batchUpdateUser","keys","values","e","updateUser","key","value","deleteUser","requestDeleteAccount","lastLoginType","getValue","isRegisterInThisDevice","RegisterInThisDevice","fetchWeChatAvatar","getRegisterDays","createTime","createdAt","diff","Date","getTime","diffDay","Math","max","ceil"],"sourceRoot":"../../src","sources":["LoginManager.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/commonjs/constant.js
CHANGED
|
@@ -3,12 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.LoginType =
|
|
7
|
-
let LoginState = exports.LoginState = /*#__PURE__*/function (LoginState) {
|
|
8
|
-
LoginState[LoginState["NOTLOGIN"] = 0] = "NOTLOGIN";
|
|
9
|
-
LoginState[LoginState["AUTHORIZED"] = 1] = "AUTHORIZED";
|
|
10
|
-
return LoginState;
|
|
11
|
-
}({});
|
|
6
|
+
exports.LoginType = void 0;
|
|
12
7
|
let LoginType = exports.LoginType = /*#__PURE__*/function (LoginType) {
|
|
13
8
|
LoginType[LoginType["LoginTypeApple"] = 0] = "LoginTypeApple";
|
|
14
9
|
LoginType[LoginType["LoginTypeWeChat"] = 1] = "LoginTypeWeChat";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["LoginType","exports"],"sourceRoot":"../../src","sources":["constant.ts"],"mappings":";;;;;;IAmCYA,SAAS,GAAAC,OAAA,CAAAD,SAAA,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
import { appleAuth } from '@invertase/react-native-apple-authentication';
|
|
4
4
|
import { getBundleId } from 'react-native-device-info';
|
|
5
|
-
import { LoginState } from './constant';
|
|
6
5
|
const AV = require('leancloud-storage');
|
|
7
6
|
export const AppleLoginUtil = {
|
|
8
7
|
// 这是监听苹果取消授权的回调,目前不需要
|
|
@@ -12,100 +11,51 @@ export const AppleLoginUtil = {
|
|
|
12
11
|
// });
|
|
13
12
|
// });
|
|
14
13
|
|
|
15
|
-
fetchAndUpdateCredentialState: async
|
|
14
|
+
fetchAndUpdateCredentialState: async user => {
|
|
16
15
|
console.log('User 正在登录鉴权:', user);
|
|
17
16
|
if (user === null) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
throw new Error('USER EMPTY');
|
|
18
|
+
}
|
|
19
|
+
const credentialState = await appleAuth.getCredentialStateForUser(user);
|
|
20
|
+
if (credentialState === appleAuth.State.AUTHORIZED) {
|
|
21
|
+
console.log('登录鉴权成功');
|
|
22
22
|
} else {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
console.log('登录鉴权成功');
|
|
26
|
-
callback({
|
|
27
|
-
result: LoginState.AUTHORIZED
|
|
28
|
-
});
|
|
29
|
-
} else {
|
|
30
|
-
console.warn('登录鉴权失败');
|
|
31
|
-
callback({
|
|
32
|
-
result: LoginState.NOTLOGIN,
|
|
33
|
-
error: 'Authorized Failed'
|
|
34
|
-
});
|
|
35
|
-
}
|
|
23
|
+
console.warn('登录鉴权失败');
|
|
24
|
+
throw new Error('Authorized Failed');
|
|
36
25
|
}
|
|
37
26
|
},
|
|
38
27
|
requestAppleUserForLogin: async () => {
|
|
39
28
|
if (!appleAuth.isSupported) {
|
|
40
|
-
|
|
41
|
-
error: 'Apple Auth Not Supported'
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// start a login request
|
|
46
|
-
try {
|
|
47
|
-
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
48
|
-
requestedOperation: appleAuth.Operation.LOGIN,
|
|
49
|
-
requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME]
|
|
50
|
-
});
|
|
51
|
-
console.log('appleAuthRequestResponse login', appleAuthRequestResponse);
|
|
52
|
-
const {
|
|
53
|
-
user: newUser,
|
|
54
|
-
email,
|
|
55
|
-
identityToken
|
|
56
|
-
} = appleAuthRequestResponse;
|
|
57
|
-
console.log(`Apple Authentication Completed, ${newUser}, ${email}`);
|
|
58
|
-
return {
|
|
59
|
-
user: newUser,
|
|
60
|
-
email: email,
|
|
61
|
-
identityToken: identityToken
|
|
62
|
-
};
|
|
63
|
-
} catch (error) {
|
|
64
|
-
if (error.code === appleAuth.Error.CANCELED) {
|
|
65
|
-
// console.warn('User canceled Apple Sign in.');
|
|
66
|
-
return {
|
|
67
|
-
error: 'User Cancel Login',
|
|
68
|
-
code: error.code
|
|
69
|
-
};
|
|
70
|
-
} else {
|
|
71
|
-
// console.warn('登录鉴权出错: ', error);
|
|
72
|
-
return {
|
|
73
|
-
error: 'Login Request Fail',
|
|
74
|
-
code: error.code
|
|
75
|
-
};
|
|
76
|
-
}
|
|
29
|
+
throw new Error('Apple Auth Not Supported');
|
|
77
30
|
}
|
|
31
|
+
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
32
|
+
requestedOperation: appleAuth.Operation.LOGIN,
|
|
33
|
+
requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME]
|
|
34
|
+
});
|
|
35
|
+
console.log('appleAuthRequestResponse login', appleAuthRequestResponse);
|
|
36
|
+
const {
|
|
37
|
+
user: newUser,
|
|
38
|
+
email,
|
|
39
|
+
identityToken
|
|
40
|
+
} = appleAuthRequestResponse;
|
|
41
|
+
console.log(`Apple Authentication Completed, ${newUser}, ${email}`);
|
|
42
|
+
return {
|
|
43
|
+
user: newUser,
|
|
44
|
+
email,
|
|
45
|
+
identityToken
|
|
46
|
+
};
|
|
78
47
|
},
|
|
79
48
|
requestAppleUserForLogout: async () => {
|
|
80
49
|
if (!appleAuth.isSupported) {
|
|
81
|
-
throw
|
|
82
|
-
error: 'Apple Auth Not Supported',
|
|
83
|
-
code: -1
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
// start a login request
|
|
88
|
-
try {
|
|
89
|
-
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
90
|
-
requestedOperation: appleAuth.Operation.LOGOUT
|
|
91
|
-
});
|
|
92
|
-
console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);
|
|
93
|
-
return {
|
|
94
|
-
authorizationCode: appleAuthRequestResponse.authorizationCode
|
|
95
|
-
};
|
|
96
|
-
} catch (error) {
|
|
97
|
-
if (error.code === appleAuth.Error.CANCELED) {
|
|
98
|
-
throw {
|
|
99
|
-
error: 'User Cancel Logout',
|
|
100
|
-
code: error.code
|
|
101
|
-
};
|
|
102
|
-
} else {
|
|
103
|
-
throw {
|
|
104
|
-
error: 'Logout Request Fail',
|
|
105
|
-
code: error.code
|
|
106
|
-
};
|
|
107
|
-
}
|
|
50
|
+
throw new Error('Apple Auth Not Supported');
|
|
108
51
|
}
|
|
52
|
+
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
53
|
+
requestedOperation: appleAuth.Operation.LOGOUT
|
|
54
|
+
});
|
|
55
|
+
console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);
|
|
56
|
+
return {
|
|
57
|
+
authorizationCode: appleAuthRequestResponse.authorizationCode
|
|
58
|
+
};
|
|
109
59
|
},
|
|
110
60
|
requestDeleteAccount: async () => {
|
|
111
61
|
if (appleAuth.isSupported) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["appleAuth","getBundleId","
|
|
1
|
+
{"version":3,"names":["appleAuth","getBundleId","AV","require","AppleLoginUtil","fetchAndUpdateCredentialState","user","console","log","Error","credentialState","getCredentialStateForUser","State","AUTHORIZED","warn","requestAppleUserForLogin","isSupported","appleAuthRequestResponse","performRequest","requestedOperation","Operation","LOGIN","requestedScopes","Scope","EMAIL","FULL_NAME","newUser","email","identityToken","requestAppleUserForLogout","LOGOUT","authorizationCode","requestDeleteAccount","token","Cloud","run","bundleId"],"sourceRoot":"../../src","sources":["AppleLoginUtil.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
import { appleAuth } from '@invertase/react-native-apple-authentication';
|
|
3
4
|
import { getUniqueIdSync } from 'react-native-device-info';
|
|
4
5
|
import { AppleLoginUtil } from './AppleLoginUtil';
|
|
5
6
|
import { Auth } from './Auth';
|
|
@@ -8,7 +9,7 @@ import { Notification } from './Notification';
|
|
|
8
9
|
import { BuildInPrefs, PrefData } from './PrefData';
|
|
9
10
|
import { ToolkitConfig } from './Tool';
|
|
10
11
|
import { WeChatLoginUtil } from './WeChatLoginUtil';
|
|
11
|
-
import {
|
|
12
|
+
import { LoginType } from './constant';
|
|
12
13
|
const onLoginFinish = params => {
|
|
13
14
|
if ('user' in params) {
|
|
14
15
|
const {
|
|
@@ -26,12 +27,15 @@ const onLoginFinish = params => {
|
|
|
26
27
|
const {
|
|
27
28
|
isAuto = false,
|
|
28
29
|
error,
|
|
29
|
-
|
|
30
|
+
isCancel = false
|
|
30
31
|
} = params;
|
|
32
|
+
if (__DEV__ && !(error instanceof Error)) {
|
|
33
|
+
console.error('onLoginFinish: error should be an Error instance, got:', error);
|
|
34
|
+
}
|
|
31
35
|
const data = {
|
|
32
36
|
isAuto,
|
|
33
37
|
error,
|
|
34
|
-
|
|
38
|
+
isCancel
|
|
35
39
|
};
|
|
36
40
|
console.log('onLoginFail', data);
|
|
37
41
|
Notification.postNotification('onLoginFail', data);
|
|
@@ -88,39 +92,27 @@ export const LoginManager = {
|
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
94
|
if (type === LoginType.LoginTypeApple) {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
if (!user || error) {
|
|
98
|
-
onLoginFinish({
|
|
99
|
-
error,
|
|
100
|
-
code
|
|
101
|
-
});
|
|
102
|
-
return;
|
|
103
|
-
} else {
|
|
95
|
+
try {
|
|
96
|
+
const {
|
|
97
|
+
user,
|
|
98
|
+
email
|
|
99
|
+
} = await AppleLoginUtil.requestAppleUserForLogin();
|
|
100
|
+
await AppleLoginUtil.fetchAndUpdateCredentialState(user);
|
|
104
101
|
let userData = {
|
|
105
102
|
userId: user,
|
|
106
|
-
email
|
|
103
|
+
email,
|
|
107
104
|
authData: {
|
|
108
105
|
openid: user,
|
|
109
106
|
loginType: 'apple'
|
|
110
107
|
}
|
|
111
108
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
});
|
|
120
|
-
} else {
|
|
121
|
-
loadingCallback?.();
|
|
122
|
-
doLogin(userData.authData, userData);
|
|
123
|
-
}
|
|
109
|
+
loadingCallback?.();
|
|
110
|
+
doLogin(userData.authData, userData);
|
|
111
|
+
} catch (error) {
|
|
112
|
+
const code = error instanceof Error && 'code' in error ? error.code : undefined;
|
|
113
|
+
onLoginFinish({
|
|
114
|
+
error,
|
|
115
|
+
isCancel: code === appleAuth.Error.CANCELED
|
|
124
116
|
});
|
|
125
117
|
}
|
|
126
118
|
} else if (type === LoginType.LoginTypeWeChat) {
|
|
@@ -209,7 +201,7 @@ export const LoginManager = {
|
|
|
209
201
|
}
|
|
210
202
|
} else {
|
|
211
203
|
onLoginFinish({
|
|
212
|
-
error: 'Unknown Login Type'
|
|
204
|
+
error: new Error('Unknown Login Type')
|
|
213
205
|
});
|
|
214
206
|
}
|
|
215
207
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getUniqueIdSync","AppleLoginUtil","Auth","HuaweiLoginUtil","Notification","BuildInPrefs","PrefData","ToolkitConfig","WeChatLoginUtil","
|
|
1
|
+
{"version":3,"names":["appleAuth","getUniqueIdSync","AppleLoginUtil","Auth","HuaweiLoginUtil","Notification","BuildInPrefs","PrefData","ToolkitConfig","WeChatLoginUtil","LoginType","onLoginFinish","params","isAuto","user","setValue","LastLoginType","type","data","console","log","postNotification","error","isCancel","__DEV__","Error","doLogin","authData","userData","loginWithAuthData","LoginManager","autoLogin","login","devAuthData","loadingCallback","qrcodeCallback","_","LoginTypeApple","email","requestAppleUserForLogin","fetchAndUpdateCredentialState","userId","openid","loginType","code","undefined","CANCELED","LoginTypeWeChat","nickname","headimgurl","unionid","WeiXinId","WeiXinSecret","LoginTypeWeChatScan","doLoginByScan","LoginTypeVisitor","uniqueId","LoginTypeHuawei","logOut","callback","isLogin","currentUser","isVisitor","batchUpdateUser","keys","values","e","updateUser","key","value","deleteUser","requestDeleteAccount","lastLoginType","getValue","isRegisterInThisDevice","RegisterInThisDevice","fetchWeChatAvatar","getRegisterDays","createTime","createdAt","diff","Date","getTime","diffDay","Math","max","ceil"],"sourceRoot":"../../src","sources":["LoginManager.ts"],"mappings":"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","ignoreList":[]}
|
package/lib/module/constant.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
export let LoginState = /*#__PURE__*/function (LoginState) {
|
|
4
|
-
LoginState[LoginState["NOTLOGIN"] = 0] = "NOTLOGIN";
|
|
5
|
-
LoginState[LoginState["AUTHORIZED"] = 1] = "AUTHORIZED";
|
|
6
|
-
return LoginState;
|
|
7
|
-
}({});
|
|
8
3
|
export let LoginType = /*#__PURE__*/function (LoginType) {
|
|
9
4
|
LoginType[LoginType["LoginTypeApple"] = 0] = "LoginTypeApple";
|
|
10
5
|
LoginType[LoginType["LoginTypeWeChat"] = 1] = "LoginTypeWeChat";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["LoginType"],"sourceRoot":"../../src","sources":["constant.ts"],"mappings":";;AAmCA,WAAYA,SAAS,0BAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAATA,SAAS,CAATA,SAAS;EAAA,OAATA,SAAS;AAAA","ignoreList":[]}
|
|
@@ -1,27 +1,9 @@
|
|
|
1
|
-
import { LoginState } from './constant';
|
|
2
1
|
export declare const AppleLoginUtil: {
|
|
3
|
-
fetchAndUpdateCredentialState: (user: string
|
|
4
|
-
result: LoginState;
|
|
5
|
-
error?: string;
|
|
6
|
-
}) => void) => Promise<void>;
|
|
2
|
+
fetchAndUpdateCredentialState: (user: string) => Promise<void>;
|
|
7
3
|
requestAppleUserForLogin: () => Promise<{
|
|
8
|
-
error: string;
|
|
9
|
-
user?: undefined;
|
|
10
|
-
email?: undefined;
|
|
11
|
-
identityToken?: undefined;
|
|
12
|
-
code?: undefined;
|
|
13
|
-
} | {
|
|
14
4
|
user: string;
|
|
15
5
|
email: string | null;
|
|
16
6
|
identityToken: string | null;
|
|
17
|
-
error?: undefined;
|
|
18
|
-
code?: undefined;
|
|
19
|
-
} | {
|
|
20
|
-
error: string;
|
|
21
|
-
code: any;
|
|
22
|
-
user?: undefined;
|
|
23
|
-
email?: undefined;
|
|
24
|
-
identityToken?: undefined;
|
|
25
7
|
}>;
|
|
26
8
|
requestAppleUserForLogout: () => Promise<{
|
|
27
9
|
authorizationCode: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppleLoginUtil.d.ts","sourceRoot":"","sources":["../../src/AppleLoginUtil.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AppleLoginUtil.d.ts","sourceRoot":"","sources":["../../src/AppleLoginUtil.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,cAAc;0CAQmB,MAAM,KAAG,QAAQ,IAAI,CAAC;;cAiB1D,MAAM;eACL,MAAM,GAAG,IAAI;uBACL,MAAM,GAAG,IAAI;;;;;;CAmD/B,CAAC"}
|
|
@@ -3,13 +3,13 @@ type FetchImageFunctionType = ({ headimgurl }: {
|
|
|
3
3
|
headimgurl: string;
|
|
4
4
|
}) => void;
|
|
5
5
|
export type LoginSuccessResultType = {
|
|
6
|
-
isAuto
|
|
6
|
+
isAuto: boolean;
|
|
7
7
|
user: UserType;
|
|
8
8
|
};
|
|
9
9
|
export type LoginFailResultType = {
|
|
10
|
-
isAuto
|
|
11
|
-
error:
|
|
12
|
-
|
|
10
|
+
isAuto: boolean;
|
|
11
|
+
error: unknown;
|
|
12
|
+
isCancel: boolean;
|
|
13
13
|
};
|
|
14
14
|
export declare const LoginManager: {
|
|
15
15
|
autoLogin: () => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginManager.d.ts","sourceRoot":"","sources":["../../src/LoginManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"LoginManager.d.ts","sourceRoot":"","sources":["../../src/LoginManager.ts"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,EACjB,SAAS,EAET,QAAQ,EACT,MAAM,YAAY,CAAC;AAEpB,KAAK,sBAAsB,GAAG,CAAC,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,KAAK,IAAI,CAAC;AAC/E,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAuCF,eAAO,MAAM,YAAY;;kBAcf,SAAS,sEAEE,MAAM,IAAI,6BACD,MAAM,KAAK,IAAI;wBAuGvB,MAAM,IAAI;;;;4BAuBtB,MAAM,EAAE,UACN,GAAG,EAAE,uBACO,OAAO,KAAK,IAAI;sBAc/B,MAAM,SACJ,GAAG,uBACU,OAAO,KAAK,IAAI;oCAKA,OAAO,KAAK,IAAI;;;kCAyBlB,sBAAsB;;CAwB3D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../src/constant.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,
|
|
1
|
+
{"version":3,"file":"constant.d.ts","sourceRoot":"","sources":["../../src/constant.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,SAAS;IACnB,cAAc,IAAA;IACd,eAAe,IAAA;IACf,gBAAgB,IAAA;IAChB,mBAAmB,IAAA;IACnB,eAAe,IAAA;CAChB"}
|
package/package.json
CHANGED
package/src/AppleLoginUtil.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { appleAuth } from '@invertase/react-native-apple-authentication';
|
|
2
2
|
import { getBundleId } from 'react-native-device-info';
|
|
3
|
-
import { LoginState } from './constant';
|
|
4
3
|
|
|
5
4
|
const AV = require('leancloud-storage');
|
|
6
5
|
|
|
@@ -12,77 +11,57 @@ export const AppleLoginUtil = {
|
|
|
12
11
|
// });
|
|
13
12
|
// });
|
|
14
13
|
|
|
15
|
-
fetchAndUpdateCredentialState: async (
|
|
16
|
-
user: string,
|
|
17
|
-
callback: (params: { result: LoginState; error?: string }) => void
|
|
18
|
-
) => {
|
|
14
|
+
fetchAndUpdateCredentialState: async (user: string): Promise<void> => {
|
|
19
15
|
console.log('User 正在登录鉴权:', user);
|
|
20
16
|
|
|
21
17
|
if (user === null) {
|
|
22
|
-
|
|
18
|
+
throw new Error('USER EMPTY');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
const credentialState = await appleAuth.getCredentialStateForUser(user);
|
|
22
|
+
if (credentialState === appleAuth.State.AUTHORIZED) {
|
|
23
|
+
console.log('登录鉴权成功');
|
|
23
24
|
} else {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
console.log('登录鉴权成功');
|
|
27
|
-
callback({ result: LoginState.AUTHORIZED });
|
|
28
|
-
} else {
|
|
29
|
-
console.warn('登录鉴权失败');
|
|
30
|
-
callback({ result: LoginState.NOTLOGIN, error: 'Authorized Failed' });
|
|
31
|
-
}
|
|
25
|
+
console.warn('登录鉴权失败');
|
|
26
|
+
throw new Error('Authorized Failed');
|
|
32
27
|
}
|
|
33
28
|
},
|
|
34
29
|
|
|
35
|
-
requestAppleUserForLogin: async ()
|
|
30
|
+
requestAppleUserForLogin: async (): Promise<{
|
|
31
|
+
user: string;
|
|
32
|
+
email: string | null;
|
|
33
|
+
identityToken: string | null;
|
|
34
|
+
}> => {
|
|
36
35
|
if (!appleAuth.isSupported) {
|
|
37
|
-
|
|
36
|
+
throw new Error('Apple Auth Not Supported');
|
|
38
37
|
}
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],
|
|
45
|
-
});
|
|
39
|
+
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
40
|
+
requestedOperation: appleAuth.Operation.LOGIN,
|
|
41
|
+
requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],
|
|
42
|
+
});
|
|
46
43
|
|
|
47
|
-
|
|
44
|
+
console.log('appleAuthRequestResponse login', appleAuthRequestResponse);
|
|
48
45
|
|
|
49
|
-
|
|
46
|
+
const { user: newUser, email, identityToken } = appleAuthRequestResponse;
|
|
50
47
|
|
|
51
|
-
|
|
48
|
+
console.log(`Apple Authentication Completed, ${newUser}, ${email}`);
|
|
52
49
|
|
|
53
|
-
|
|
54
|
-
} catch (error: any) {
|
|
55
|
-
if (error.code === appleAuth.Error.CANCELED) {
|
|
56
|
-
// console.warn('User canceled Apple Sign in.');
|
|
57
|
-
return { error: 'User Cancel Login', code: error.code };
|
|
58
|
-
} else {
|
|
59
|
-
// console.warn('登录鉴权出错: ', error);
|
|
60
|
-
return { error: 'Login Request Fail', code: error.code };
|
|
61
|
-
}
|
|
62
|
-
}
|
|
50
|
+
return { user: newUser, email, identityToken };
|
|
63
51
|
},
|
|
64
52
|
|
|
65
53
|
requestAppleUserForLogout: async () => {
|
|
66
54
|
if (!appleAuth.isSupported) {
|
|
67
|
-
throw
|
|
55
|
+
throw new Error('Apple Auth Not Supported');
|
|
68
56
|
}
|
|
69
57
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
requestedOperation: appleAuth.Operation.LOGOUT,
|
|
74
|
-
});
|
|
58
|
+
const appleAuthRequestResponse = await appleAuth.performRequest({
|
|
59
|
+
requestedOperation: appleAuth.Operation.LOGOUT,
|
|
60
|
+
});
|
|
75
61
|
|
|
76
|
-
|
|
62
|
+
console.log('appleAuthRequestResponse logout', appleAuthRequestResponse);
|
|
77
63
|
|
|
78
|
-
|
|
79
|
-
} catch (error: any) {
|
|
80
|
-
if (error.code === appleAuth.Error.CANCELED) {
|
|
81
|
-
throw { error: 'User Cancel Logout', code: error.code };
|
|
82
|
-
} else {
|
|
83
|
-
throw { error: 'Logout Request Fail', code: error.code };
|
|
84
|
-
}
|
|
85
|
-
}
|
|
64
|
+
return { authorizationCode: appleAuthRequestResponse.authorizationCode };
|
|
86
65
|
},
|
|
87
66
|
|
|
88
67
|
requestDeleteAccount: async () => {
|
package/src/LoginManager.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { appleAuth } from '@invertase/react-native-apple-authentication';
|
|
1
2
|
import { getUniqueIdSync } from 'react-native-device-info';
|
|
2
3
|
import { AppleLoginUtil } from './AppleLoginUtil';
|
|
3
4
|
import { Auth } from './Auth';
|
|
@@ -8,7 +9,6 @@ import { ToolkitConfig } from './Tool';
|
|
|
8
9
|
import { WeChatLoginUtil } from './WeChatLoginUtil';
|
|
9
10
|
import {
|
|
10
11
|
LoginAuthDataType,
|
|
11
|
-
LoginState,
|
|
12
12
|
LoginType,
|
|
13
13
|
LoginUserDataType,
|
|
14
14
|
UserType,
|
|
@@ -16,29 +16,35 @@ import {
|
|
|
16
16
|
|
|
17
17
|
type FetchImageFunctionType = ({ headimgurl }: { headimgurl: string }) => void;
|
|
18
18
|
export type LoginSuccessResultType = {
|
|
19
|
-
isAuto
|
|
19
|
+
isAuto: boolean;
|
|
20
20
|
user: UserType;
|
|
21
21
|
};
|
|
22
22
|
export type LoginFailResultType = {
|
|
23
|
-
isAuto
|
|
24
|
-
error:
|
|
25
|
-
|
|
23
|
+
isAuto: boolean;
|
|
24
|
+
error: unknown;
|
|
25
|
+
isCancel: boolean;
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
type LoginFinishParams =
|
|
29
29
|
| { isAuto?: boolean; user: UserType }
|
|
30
|
-
| { isAuto?: boolean; error: unknown;
|
|
30
|
+
| { isAuto?: boolean; error: unknown; isCancel?: boolean };
|
|
31
31
|
|
|
32
32
|
const onLoginFinish = (params: LoginFinishParams) => {
|
|
33
33
|
if ('user' in params) {
|
|
34
34
|
const { isAuto = false, user } = params;
|
|
35
35
|
PrefData.setValue(BuildInPrefs.LastLoginType, user.type);
|
|
36
|
-
const data = { isAuto, user };
|
|
36
|
+
const data: LoginSuccessResultType = { isAuto, user };
|
|
37
37
|
console.log('onLoginSuccess', data);
|
|
38
38
|
Notification.postNotification('onLoginSuccess', data);
|
|
39
39
|
} else {
|
|
40
|
-
const { isAuto = false, error,
|
|
41
|
-
|
|
40
|
+
const { isAuto = false, error, isCancel = false } = params;
|
|
41
|
+
if (__DEV__ && !(error instanceof Error)) {
|
|
42
|
+
console.error(
|
|
43
|
+
'onLoginFinish: error should be an Error instance, got:',
|
|
44
|
+
error
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
const data: LoginFailResultType = { isAuto, error, isCancel };
|
|
42
48
|
console.log('onLoginFail', data);
|
|
43
49
|
Notification.postNotification('onLoginFail', data);
|
|
44
50
|
}
|
|
@@ -93,32 +99,22 @@ export const LoginManager = {
|
|
|
93
99
|
}
|
|
94
100
|
|
|
95
101
|
if (type === LoginType.LoginTypeApple) {
|
|
96
|
-
|
|
97
|
-
await AppleLoginUtil.requestAppleUserForLogin();
|
|
98
|
-
|
|
99
|
-
onLoginFinish({ error, code });
|
|
100
|
-
return;
|
|
101
|
-
} else {
|
|
102
|
+
try {
|
|
103
|
+
const { user, email } = await AppleLoginUtil.requestAppleUserForLogin();
|
|
104
|
+
await AppleLoginUtil.fetchAndUpdateCredentialState(user);
|
|
102
105
|
let userData = {
|
|
103
106
|
userId: user,
|
|
104
|
-
email
|
|
105
|
-
authData: {
|
|
106
|
-
openid: user,
|
|
107
|
-
loginType: 'apple',
|
|
108
|
-
},
|
|
107
|
+
email,
|
|
108
|
+
authData: { openid: user, loginType: 'apple' as const },
|
|
109
109
|
};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
doLogin(userData.authData, userData);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
);
|
|
110
|
+
loadingCallback?.();
|
|
111
|
+
doLogin(userData.authData, userData);
|
|
112
|
+
} catch (error) {
|
|
113
|
+
const code =
|
|
114
|
+
error instanceof Error && 'code' in error
|
|
115
|
+
? (error as Error & { code: unknown }).code
|
|
116
|
+
: undefined;
|
|
117
|
+
onLoginFinish({ error, isCancel: code === appleAuth.Error.CANCELED });
|
|
122
118
|
}
|
|
123
119
|
} else if (type === LoginType.LoginTypeWeChat) {
|
|
124
120
|
try {
|
|
@@ -182,7 +178,7 @@ export const LoginManager = {
|
|
|
182
178
|
onLoginFinish({ error });
|
|
183
179
|
}
|
|
184
180
|
} else {
|
|
185
|
-
onLoginFinish({ error: 'Unknown Login Type' });
|
|
181
|
+
onLoginFinish({ error: new Error('Unknown Login Type') });
|
|
186
182
|
}
|
|
187
183
|
},
|
|
188
184
|
|