@norcy/react-native-toolkit 0.3.22 → 0.3.23
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 +18 -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 +19 -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.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 +20 -27
- 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":";;;;;;AAAA,IAAAA,+BAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAD,OAAA;AAEA,MAAME,EAAE,GAAGF,OAAO,CAAC,mBAAmB,CAAC;AAEhC,MAAMG,cAAc,GAAAC,OAAA,CAAAD,cAAA,GAAG;EAC5B;EACA;EACA;EACA;EACA;EACA;;EAEAE,6BAA6B,EAAE,MAAOC,IAAY,IAAoB;IACpEC,OAAO,CAACC,GAAG,CAAC,cAAc,EAAEF,IAAI,CAAC;IAEjC,IAAIA,IAAI,KAAK,IAAI,EAAE;MACjB,MAAM,IAAIG,KAAK,CAAC,YAAY,CAAC;IAC/B;IAEA,MAAMC,eAAe,GAAG,MAAMC,yCAAS,CAACC,yBAAyB,CAACN,IAAI,CAAC;IACvE,IAAII,eAAe,KAAKC,yCAAS,CAACE,KAAK,CAACC,UAAU,EAAE;MAClDP,OAAO,CAACC,GAAG,CAAC,QAAQ,CAAC;IACvB,CAAC,MAAM;MACLD,OAAO,CAACQ,IAAI,CAAC,QAAQ,CAAC;MACtB,MAAM,IAAIN,KAAK,CAAC,mBAAmB,CAAC;IACtC;EACF,CAAC;EAEDO,wBAAwB,EAAE,MAAAA,CAAA,KAIpB;IACJ,IAAI,CAACL,yCAAS,CAACM,WAAW,EAAE;MAC1B,MAAM,IAAIR,KAAK,CAAC,0BAA0B,CAAC;IAC7C;IAEA,MAAMS,wBAAwB,GAAG,MAAMP,yCAAS,CAACQ,cAAc,CAAC;MAC9DC,kBAAkB,EAAET,yCAAS,CAACU,SAAS,CAACC,KAAK;MAC7CC,eAAe,EAAE,CAACZ,yCAAS,CAACa,KAAK,CAACC,KAAK,EAAEd,yCAAS,CAACa,KAAK,CAACE,SAAS;IACpE,CAAC,CAAC;IAEFnB,OAAO,CAACC,GAAG,CAAC,gCAAgC,EAAEU,wBAAwB,CAAC;IAEvE,MAAM;MAAEZ,IAAI,EAAEqB,OAAO;MAAEC,KAAK;MAAEC;IAAc,CAAC,GAAGX,wBAAwB;IAExEX,OAAO,CAACC,GAAG,CAAC,mCAAmCmB,OAAO,KAAKC,KAAK,EAAE,CAAC;IAEnE,OAAO;MAAEtB,IAAI,EAAEqB,OAAO;MAAEC,KAAK;MAAEC;IAAc,CAAC;EAChD,CAAC;EAEDC,yBAAyB,EAAE,MAAAA,CAAA,KAAY;IACrC,IAAI,CAACnB,yCAAS,CAACM,WAAW,EAAE;MAC1B,MAAM,IAAIR,KAAK,CAAC,0BAA0B,CAAC;IAC7C;IAEA,MAAMS,wBAAwB,GAAG,MAAMP,yCAAS,CAACQ,cAAc,CAAC;MAC9DC,kBAAkB,EAAET,yCAAS,CAACU,SAAS,CAACU;IAC1C,CAAC,CAAC;IAEFxB,OAAO,CAACC,GAAG,CAAC,iCAAiC,EAAEU,wBAAwB,CAAC;IAExE,OAAO;MAAEc,iBAAiB,EAAEd,wBAAwB,CAACc;IAAkB,CAAC;EAC1E,CAAC;EAEDC,oBAAoB,EAAE,MAAAA,CAAA,KAAY;IAChC,IAAItB,yCAAS,CAACM,WAAW,EAAE;MACzB,MAAM;QAAEe;MAAkB,CAAC,GACzB,MAAM7B,cAAc,CAAC2B,yBAAyB,CAAC,CAAC;MAClDvB,OAAO,CAACC,GAAG,CAAC,+BAA+B,EAAEwB,iBAAiB,CAAC;MAC/D,MAAM;QAAEE;MAAM,CAAC,GAAG,MAAMhC,EAAE,CAACiC,KAAK,CAACC,GAAG,CAAC,UAAU,EAAE;QAC/CJ,iBAAiB;QACjBK,QAAQ,EAAE,IAAAC,kCAAW,EAAC;MACxB,CAAC,CAAC;MACF/B,OAAO,CAACC,GAAG,CAAC,mBAAmB,EAAE0B,KAAK,CAAC;MACvC,MAAMhC,EAAE,CAACiC,KAAK,CAACC,GAAG,CAAC,oBAAoB,EAAE;QACvCF,KAAK;QACLG,QAAQ,EAAE,IAAAC,kCAAW,EAAC;MACxB,CAAC,CAAC;MACF/B,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;IACvC;EACF;AACF,CAAC","ignoreList":[]}
|
|
@@ -29,9 +29,12 @@ const onLoginFinish = params => {
|
|
|
29
29
|
} else {
|
|
30
30
|
const {
|
|
31
31
|
isAuto = false,
|
|
32
|
-
error
|
|
33
|
-
code
|
|
32
|
+
error
|
|
34
33
|
} = params;
|
|
34
|
+
if (__DEV__ && !(error instanceof Error)) {
|
|
35
|
+
console.error('onLoginFinish: error should be an Error instance, got:', error);
|
|
36
|
+
}
|
|
37
|
+
const code = error instanceof Error && 'code' in error ? String(error.code) : undefined;
|
|
35
38
|
const data = {
|
|
36
39
|
isAuto,
|
|
37
40
|
error,
|
|
@@ -92,39 +95,25 @@ const LoginManager = exports.LoginManager = {
|
|
|
92
95
|
}
|
|
93
96
|
}
|
|
94
97
|
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 {
|
|
98
|
+
try {
|
|
99
|
+
const {
|
|
100
|
+
user,
|
|
101
|
+
email
|
|
102
|
+
} = await _AppleLoginUtil.AppleLoginUtil.requestAppleUserForLogin();
|
|
103
|
+
await _AppleLoginUtil.AppleLoginUtil.fetchAndUpdateCredentialState(user);
|
|
108
104
|
let userData = {
|
|
109
105
|
userId: user,
|
|
110
|
-
email
|
|
106
|
+
email,
|
|
111
107
|
authData: {
|
|
112
108
|
openid: user,
|
|
113
109
|
loginType: 'apple'
|
|
114
110
|
}
|
|
115
111
|
};
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
onLoginFinish({
|
|
122
|
-
error: credentialError
|
|
123
|
-
});
|
|
124
|
-
} else {
|
|
125
|
-
loadingCallback?.();
|
|
126
|
-
doLogin(userData.authData, userData);
|
|
127
|
-
}
|
|
112
|
+
loadingCallback?.();
|
|
113
|
+
doLogin(userData.authData, userData);
|
|
114
|
+
} catch (error) {
|
|
115
|
+
onLoginFinish({
|
|
116
|
+
error
|
|
128
117
|
});
|
|
129
118
|
}
|
|
130
119
|
} else if (type === _constant.LoginType.LoginTypeWeChat) {
|
|
@@ -213,7 +202,7 @@ const LoginManager = exports.LoginManager = {
|
|
|
213
202
|
}
|
|
214
203
|
} else {
|
|
215
204
|
onLoginFinish({
|
|
216
|
-
error: 'Unknown Login Type'
|
|
205
|
+
error: new Error('Unknown Login Type')
|
|
217
206
|
});
|
|
218
207
|
}
|
|
219
208
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNativeDeviceInfo","require","_AppleLoginUtil","_Auth","_HuaweiLoginUtil","_Notification","_PrefData","_Tool","_WeChatLoginUtil","_constant","onLoginFinish","params","isAuto","user","PrefData","setValue","BuildInPrefs","LastLoginType","type","data","console","log","Notification","postNotification","error","code","doLogin","authData","userData","Auth","loginWithAuthData","LoginManager","exports","autoLogin","login","devAuthData","loadingCallback","qrcodeCallback","_","
|
|
1
|
+
{"version":3,"names":["_reactNativeDeviceInfo","require","_AppleLoginUtil","_Auth","_HuaweiLoginUtil","_Notification","_PrefData","_Tool","_WeChatLoginUtil","_constant","onLoginFinish","params","isAuto","user","PrefData","setValue","BuildInPrefs","LastLoginType","type","data","console","log","Notification","postNotification","error","__DEV__","Error","code","String","undefined","doLogin","authData","userData","Auth","loginWithAuthData","LoginManager","exports","autoLogin","login","devAuthData","loadingCallback","qrcodeCallback","_","LoginType","LoginTypeApple","email","AppleLoginUtil","requestAppleUserForLogin","fetchAndUpdateCredentialState","userId","openid","loginType","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":[]}
|
|
@@ -8,7 +8,7 @@ import { Notification } from './Notification';
|
|
|
8
8
|
import { BuildInPrefs, PrefData } from './PrefData';
|
|
9
9
|
import { ToolkitConfig } from './Tool';
|
|
10
10
|
import { WeChatLoginUtil } from './WeChatLoginUtil';
|
|
11
|
-
import {
|
|
11
|
+
import { LoginType } from './constant';
|
|
12
12
|
const onLoginFinish = params => {
|
|
13
13
|
if ('user' in params) {
|
|
14
14
|
const {
|
|
@@ -25,9 +25,12 @@ const onLoginFinish = params => {
|
|
|
25
25
|
} else {
|
|
26
26
|
const {
|
|
27
27
|
isAuto = false,
|
|
28
|
-
error
|
|
29
|
-
code
|
|
28
|
+
error
|
|
30
29
|
} = params;
|
|
30
|
+
if (__DEV__ && !(error instanceof Error)) {
|
|
31
|
+
console.error('onLoginFinish: error should be an Error instance, got:', error);
|
|
32
|
+
}
|
|
33
|
+
const code = error instanceof Error && 'code' in error ? String(error.code) : undefined;
|
|
31
34
|
const data = {
|
|
32
35
|
isAuto,
|
|
33
36
|
error,
|
|
@@ -88,39 +91,25 @@ export const LoginManager = {
|
|
|
88
91
|
}
|
|
89
92
|
}
|
|
90
93
|
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 {
|
|
94
|
+
try {
|
|
95
|
+
const {
|
|
96
|
+
user,
|
|
97
|
+
email
|
|
98
|
+
} = await AppleLoginUtil.requestAppleUserForLogin();
|
|
99
|
+
await AppleLoginUtil.fetchAndUpdateCredentialState(user);
|
|
104
100
|
let userData = {
|
|
105
101
|
userId: user,
|
|
106
|
-
email
|
|
102
|
+
email,
|
|
107
103
|
authData: {
|
|
108
104
|
openid: user,
|
|
109
105
|
loginType: 'apple'
|
|
110
106
|
}
|
|
111
107
|
};
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
onLoginFinish({
|
|
118
|
-
error: credentialError
|
|
119
|
-
});
|
|
120
|
-
} else {
|
|
121
|
-
loadingCallback?.();
|
|
122
|
-
doLogin(userData.authData, userData);
|
|
123
|
-
}
|
|
108
|
+
loadingCallback?.();
|
|
109
|
+
doLogin(userData.authData, userData);
|
|
110
|
+
} catch (error) {
|
|
111
|
+
onLoginFinish({
|
|
112
|
+
error
|
|
124
113
|
});
|
|
125
114
|
}
|
|
126
115
|
} else if (type === LoginType.LoginTypeWeChat) {
|
|
@@ -209,7 +198,7 @@ export const LoginManager = {
|
|
|
209
198
|
}
|
|
210
199
|
} else {
|
|
211
200
|
onLoginFinish({
|
|
212
|
-
error: 'Unknown Login Type'
|
|
201
|
+
error: new Error('Unknown Login Type')
|
|
213
202
|
});
|
|
214
203
|
}
|
|
215
204
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getUniqueIdSync","AppleLoginUtil","Auth","HuaweiLoginUtil","Notification","BuildInPrefs","PrefData","ToolkitConfig","WeChatLoginUtil","
|
|
1
|
+
{"version":3,"names":["getUniqueIdSync","AppleLoginUtil","Auth","HuaweiLoginUtil","Notification","BuildInPrefs","PrefData","ToolkitConfig","WeChatLoginUtil","LoginType","onLoginFinish","params","isAuto","user","setValue","LastLoginType","type","data","console","log","postNotification","error","__DEV__","Error","code","String","undefined","doLogin","authData","userData","loginWithAuthData","LoginManager","autoLogin","login","devAuthData","loadingCallback","qrcodeCallback","_","LoginTypeApple","email","requestAppleUserForLogin","fetchAndUpdateCredentialState","userId","openid","loginType","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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginManager.d.ts","sourceRoot":"","sources":["../../src/LoginManager.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,iBAAiB,
|
|
1
|
+
{"version":3,"file":"LoginManager.d.ts","sourceRoot":"","sources":["../../src/LoginManager.ts"],"names":[],"mappings":"AAQA,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,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB,CAAC;AACF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAwCF,eAAO,MAAM,YAAY;;kBAcf,SAAS,sEAEE,MAAM,IAAI,6BACD,MAAM,KAAK,IAAI;wBAoGvB,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
|
@@ -8,7 +8,6 @@ import { ToolkitConfig } from './Tool';
|
|
|
8
8
|
import { WeChatLoginUtil } from './WeChatLoginUtil';
|
|
9
9
|
import {
|
|
10
10
|
LoginAuthDataType,
|
|
11
|
-
LoginState,
|
|
12
11
|
LoginType,
|
|
13
12
|
LoginUserDataType,
|
|
14
13
|
UserType,
|
|
@@ -27,7 +26,7 @@ export type LoginFailResultType = {
|
|
|
27
26
|
|
|
28
27
|
type LoginFinishParams =
|
|
29
28
|
| { isAuto?: boolean; user: UserType }
|
|
30
|
-
| { isAuto?: boolean; error: unknown
|
|
29
|
+
| { isAuto?: boolean; error: unknown };
|
|
31
30
|
|
|
32
31
|
const onLoginFinish = (params: LoginFinishParams) => {
|
|
33
32
|
if ('user' in params) {
|
|
@@ -37,7 +36,14 @@ const onLoginFinish = (params: LoginFinishParams) => {
|
|
|
37
36
|
console.log('onLoginSuccess', data);
|
|
38
37
|
Notification.postNotification('onLoginSuccess', data);
|
|
39
38
|
} else {
|
|
40
|
-
const { isAuto = false, error
|
|
39
|
+
const { isAuto = false, error } = params;
|
|
40
|
+
if (__DEV__ && !(error instanceof Error)) {
|
|
41
|
+
console.error('onLoginFinish: error should be an Error instance, got:', error);
|
|
42
|
+
}
|
|
43
|
+
const code =
|
|
44
|
+
error instanceof Error && 'code' in error
|
|
45
|
+
? String((error as Error & { code: unknown }).code)
|
|
46
|
+
: undefined;
|
|
41
47
|
const data = { isAuto, error, code };
|
|
42
48
|
console.log('onLoginFail', data);
|
|
43
49
|
Notification.postNotification('onLoginFail', data);
|
|
@@ -93,32 +99,19 @@ export const LoginManager = {
|
|
|
93
99
|
}
|
|
94
100
|
|
|
95
101
|
if (type === LoginType.LoginTypeApple) {
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
return;
|
|
101
|
-
} else {
|
|
102
|
+
try {
|
|
103
|
+
const { user, email } =
|
|
104
|
+
await AppleLoginUtil.requestAppleUserForLogin();
|
|
105
|
+
await AppleLoginUtil.fetchAndUpdateCredentialState(user);
|
|
102
106
|
let userData = {
|
|
103
107
|
userId: user,
|
|
104
|
-
email
|
|
105
|
-
authData: {
|
|
106
|
-
openid: user,
|
|
107
|
-
loginType: 'apple',
|
|
108
|
-
},
|
|
108
|
+
email,
|
|
109
|
+
authData: { openid: user, loginType: 'apple' as const },
|
|
109
110
|
};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
if (credentialError || result !== LoginState.AUTHORIZED) {
|
|
115
|
-
onLoginFinish({ error: credentialError });
|
|
116
|
-
} else {
|
|
117
|
-
loadingCallback?.();
|
|
118
|
-
doLogin(userData.authData, userData);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
);
|
|
111
|
+
loadingCallback?.();
|
|
112
|
+
doLogin(userData.authData, userData);
|
|
113
|
+
} catch (error) {
|
|
114
|
+
onLoginFinish({ error });
|
|
122
115
|
}
|
|
123
116
|
} else if (type === LoginType.LoginTypeWeChat) {
|
|
124
117
|
try {
|
|
@@ -182,7 +175,7 @@ export const LoginManager = {
|
|
|
182
175
|
onLoginFinish({ error });
|
|
183
176
|
}
|
|
184
177
|
} else {
|
|
185
|
-
onLoginFinish({ error: 'Unknown Login Type' });
|
|
178
|
+
onLoginFinish({ error: new Error('Unknown Login Type') });
|
|
186
179
|
}
|
|
187
180
|
},
|
|
188
181
|
|