@cloudbase/auth 1.7.3-alpha.0 → 1.8.2

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.
Files changed (48) hide show
  1. package/.eslintrc.js +13 -0
  2. package/dist/cjs/constants.d.ts +0 -1
  3. package/dist/cjs/constants.js +2 -3
  4. package/dist/cjs/index.d.ts +9 -13
  5. package/dist/cjs/index.js +121 -199
  6. package/dist/cjs/providers/anonymousAuthProvider.js +25 -23
  7. package/dist/cjs/providers/base.d.ts +1 -2
  8. package/dist/cjs/providers/base.js +12 -6
  9. package/dist/cjs/providers/customAuthProvider.js +15 -14
  10. package/dist/cjs/providers/emailAuthProvider.js +27 -29
  11. package/dist/cjs/providers/phoneAuthProvider.js +22 -24
  12. package/dist/cjs/providers/usernameAuthProvider.js +17 -17
  13. package/dist/cjs/providers/weixinAuthProvider.js +31 -30
  14. package/dist/esm/constants.d.ts +0 -1
  15. package/dist/esm/constants.js +1 -2
  16. package/dist/esm/index.d.ts +9 -13
  17. package/dist/esm/index.js +122 -200
  18. package/dist/esm/providers/anonymousAuthProvider.js +25 -23
  19. package/dist/esm/providers/base.d.ts +1 -2
  20. package/dist/esm/providers/base.js +12 -6
  21. package/dist/esm/providers/customAuthProvider.js +15 -14
  22. package/dist/esm/providers/emailAuthProvider.js +27 -29
  23. package/dist/esm/providers/phoneAuthProvider.js +22 -24
  24. package/dist/esm/providers/usernameAuthProvider.js +17 -17
  25. package/dist/esm/providers/weixinAuthProvider.js +31 -30
  26. package/package.json +8 -12
  27. package/src/constants.ts +0 -2
  28. package/src/index.ts +128 -245
  29. package/src/providers/anonymousAuthProvider.ts +15 -18
  30. package/src/providers/base.ts +7 -20
  31. package/src/providers/customAuthProvider.ts +12 -15
  32. package/src/providers/emailAuthProvider.ts +21 -24
  33. package/src/providers/phoneAuthProvider.ts +22 -23
  34. package/src/providers/usernameAuthProvider.ts +10 -11
  35. package/src/providers/weixinAuthProvider.ts +45 -46
  36. package/tsconfig.esm.json +2 -19
  37. package/tsconfig.json +2 -19
  38. package/.eslintrc +0 -30
  39. package/dist/cjs/common.d.ts +0 -8
  40. package/dist/cjs/common.js +0 -64
  41. package/dist/cjs/providers/oauth2AuthProvider.d.ts +0 -61
  42. package/dist/cjs/providers/oauth2AuthProvider.js +0 -404
  43. package/dist/esm/common.d.ts +0 -8
  44. package/dist/esm/common.js +0 -61
  45. package/dist/esm/providers/oauth2AuthProvider.d.ts +0 -61
  46. package/dist/esm/providers/oauth2AuthProvider.js +0 -401
  47. package/src/common.ts +0 -21
  48. package/src/providers/oauth2AuthProvider.ts +0 -585
@@ -9,10 +9,10 @@ import { EVENTS, eventBus, LoginState } from '..';
9
9
  const { ERRORS, COMMUNITY_SITE_URL } = constants;
10
10
  const { throwError, isString } = utils;
11
11
  const { addEventListener } = events;
12
- const { catchErrorsDecorator, stopAuthLoginWithOAuth } = helpers;
12
+ const { catchErrorsDecorator } = helpers;
13
13
 
14
14
  export class AnonymousAuthProvider extends AuthProvider {
15
- constructor(config: ICloudbaseAuthConfig & { cache: ICloudbaseCache, request: ICloudbaseRequest }) {
15
+ constructor(config: ICloudbaseAuthConfig&{cache: ICloudbaseCache, request: ICloudbaseRequest}) {
16
16
  super(config);
17
17
 
18
18
  this._onConverted = this._onConverted.bind(this);
@@ -20,15 +20,14 @@ export class AnonymousAuthProvider extends AuthProvider {
20
20
  addEventListener(EVENTS.ANONYMOUS_CONVERTED, this._onConverted);
21
21
  }
22
22
 
23
- @stopAuthLoginWithOAuth()
24
23
  @catchErrorsDecorator({
25
24
  title: '匿名登录失败',
26
25
  messages: [
27
26
  '请确认以下各项:',
28
27
  ' 1 - 当前环境是否开启了匿名登录',
29
28
  ' 2 - 调用 auth().anonymouseProvider().signIn() 的语法或参数是否正确',
30
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
31
- ]
29
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
30
+ ],
32
31
  })
33
32
  public async signIn(): Promise<ILoginState> {
34
33
  // 匿名登录前迁移cache到localstorage
@@ -41,7 +40,7 @@ export class AnonymousAuthProvider extends AuthProvider {
41
40
 
42
41
  const res = await this._request.send('auth.signInAnonymously', {
43
42
  anonymous_uuid,
44
- refresh_token
43
+ refresh_token,
45
44
  });
46
45
  if (res.uuid && res.refresh_token) {
47
46
  await this._setAnonymousUUID(res.uuid);
@@ -51,7 +50,7 @@ export class AnonymousAuthProvider extends AuthProvider {
51
50
  eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
52
51
  env: this._config.env,
53
52
  loginType: LOGINTYPE.ANONYMOUS,
54
- persistence: 'local'
53
+ persistence: 'local',
55
54
  });
56
55
 
57
56
  eventBus.fire(EVENTS.LOGIN_STATE_CHANGED);
@@ -59,17 +58,16 @@ export class AnonymousAuthProvider extends AuthProvider {
59
58
  const loginState = new LoginState({
60
59
  envId: this._config.env,
61
60
  cache: this._cache,
62
- request: this._request
61
+ request: this._request,
63
62
  });
64
63
  await loginState.checkLocalStateAsync();
65
64
  await loginState.user.refresh();
66
65
  return loginState;
67
- } else {
68
- throw new Error(JSON.stringify({
69
- code: ERRORS.OPERATION_FAIL,
70
- msg: JSON.stringify(res) || 'anonymous signIn failed'
71
- }));
72
66
  }
67
+ throw new Error(JSON.stringify({
68
+ code: ERRORS.OPERATION_FAIL,
69
+ msg: JSON.stringify(res) || 'anonymous signIn failed',
70
+ }));
73
71
  }
74
72
  /**
75
73
  * 匿名转正
@@ -85,7 +83,7 @@ export class AnonymousAuthProvider extends AuthProvider {
85
83
  const res = await this._request.send('auth.linkAndRetrieveDataWithTicket', {
86
84
  anonymous_uuid,
87
85
  refresh_token,
88
- ticket
86
+ ticket,
89
87
  });
90
88
  if (res.refresh_token) {
91
89
  // 转正后清除本地保存的匿名uuid
@@ -97,14 +95,13 @@ export class AnonymousAuthProvider extends AuthProvider {
97
95
  const loginState = new LoginState({
98
96
  envId: this._config.env,
99
97
  cache: this._cache,
100
- request: this._request
98
+ request: this._request,
101
99
  });
102
100
  await loginState.checkLocalStateAsync();
103
101
 
104
102
  return loginState;
105
- } else {
106
- throwError(ERRORS.OPERATION_FAIL, JSON.stringify(res) || 'linkAndRetrieveDataWithTicket failed');
107
103
  }
104
+ throwError(ERRORS.OPERATION_FAIL, JSON.stringify(res) || 'linkAndRetrieveDataWithTicket failed');
108
105
  }
109
106
  private async _setAnonymousUUID(id: string) {
110
107
  const { anonymousUuidKey, loginTypeKey } = this._cache.keys;
@@ -123,4 +120,4 @@ export class AnonymousAuthProvider extends AuthProvider {
123
120
  // 匿名转正后迁移cache
124
121
  await this._cache.updatePersistenceAsync(this._config.persistence);
125
122
  }
126
- }
123
+ }
@@ -1,4 +1,4 @@
1
- import { ICloudbaseConfig, ICloudbase } from '@cloudbase/types';
1
+ import { ICloudbaseConfig } from '@cloudbase/types';
2
2
  import { ICloudbaseCache } from '@cloudbase/types/cache';
3
3
  import { ICloudbaseRequest } from '@cloudbase/types/request';
4
4
  import { ICloudbaseAuthConfig } from '@cloudbase/types/auth';
@@ -8,13 +8,11 @@ export abstract class AuthProvider {
8
8
  protected readonly _config: ICloudbaseConfig;
9
9
  protected readonly _cache: ICloudbaseCache;
10
10
  protected readonly _request: ICloudbaseRequest;
11
- protected readonly _fromApp: ICloudbase;
12
11
 
13
- constructor(config: ICloudbaseAuthConfig & { cache: ICloudbaseCache, request: ICloudbaseRequest }) {
12
+ constructor(config: ICloudbaseAuthConfig&{cache: ICloudbaseCache, request: ICloudbaseRequest}) {
14
13
  this._config = config;
15
14
  this._cache = config.cache;
16
15
  this._request = config.request;
17
- this._fromApp = config._fromApp
18
16
  }
19
17
  /**
20
18
  * 判断本地是否已经有登录态,如果有且没过期,则返回true,否则清理本地登录态
@@ -30,16 +28,15 @@ export abstract class AuthProvider {
30
28
  const loginState = new LoginState({
31
29
  envId: this._config.env,
32
30
  cache: this._cache,
33
- request: this._request
31
+ request: this._request,
34
32
  });
35
33
  await loginState.checkLocalStateAsync();
36
34
 
37
35
  return loginState;
38
- } else {
39
- // access token存在但是过期了,那么删除掉重新拉
40
- // await this._cache.removeStoreAsync(accessTokenKey);
41
- // await this._cache.removeStoreAsync(accessTokenExpireKey);
42
36
  }
37
+ // access token存在但是过期了,那么删除掉重新拉
38
+ await this._cache.removeStoreAsync(accessTokenKey);
39
+ await this._cache.removeStoreAsync(accessTokenExpireKey);
43
40
  }
44
41
  }
45
42
  protected async setRefreshToken(refreshToken: string) {
@@ -64,15 +61,5 @@ export abstract class AuthProvider {
64
61
  const { userInfoKey } = this._cache.keys;
65
62
  await this._cache.setStoreAsync(userInfoKey, userInfo);
66
63
  }
67
-
68
- // protected async stopAuthLoginWithOauth() {
69
- // const { _fromApp } = this._config
70
- // const checkRes = await checkFromAuthV1OrV2(_fromApp)
71
- // const { authType } = checkRes
72
- // console.log('authType', authType)
73
- // if (authType === 'oauth') {
74
- // throw Error('当前已使用 oauth 登录,请手动退出 oauth 登录后再进行 auth 登录')
75
- // }
76
- // }
77
64
  abstract signIn(...args: any[]): Promise<any>;
78
- }
65
+ }
@@ -7,11 +7,9 @@ import { eventBus, EVENTS, LoginState } from '..';
7
7
 
8
8
  const { ERRORS, COMMUNITY_SITE_URL } = constants;
9
9
  const { isString } = utils;
10
- const { catchErrorsDecorator, stopAuthLoginWithOAuth } = helpers;
10
+ const { catchErrorsDecorator } = helpers;
11
11
 
12
12
  export class CustomAuthProvider extends AuthProvider {
13
-
14
- @stopAuthLoginWithOAuth()
15
13
  @catchErrorsDecorator({
16
14
  title: '自定义登录失败',
17
15
  messages: [
@@ -20,20 +18,20 @@ export class CustomAuthProvider extends AuthProvider {
20
18
  ' 2 - 调用 auth().customAuthProvider().signIn() 的语法或参数是否正确',
21
19
  ' 3 - ticket 是否归属于当前环境',
22
20
  ' 4 - 创建 ticket 的自定义登录私钥是否过期',
23
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
24
- ]
21
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
22
+ ],
25
23
  })
26
24
  public async signIn(ticket: string): Promise<ILoginState> {
27
25
  if (!isString(ticket)) {
28
26
  throw new Error(JSON.stringify({
29
27
  code: ERRORS.INVALID_PARAMS,
30
- msg: 'ticket must be a string'
28
+ msg: 'ticket must be a string',
31
29
  }));
32
30
  }
33
31
  const { refreshTokenKey } = this._cache.keys;
34
32
  const res = await this._request.send('auth.signInWithTicket', {
35
33
  ticket,
36
- refresh_token: await this._cache.getStoreAsync(refreshTokenKey) || ''
34
+ refresh_token: await this._cache.getStoreAsync(refreshTokenKey) || '',
37
35
  });
38
36
  if (res.refresh_token) {
39
37
  // 保存新refresh token并且刷新access token
@@ -43,7 +41,7 @@ export class CustomAuthProvider extends AuthProvider {
43
41
  eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
44
42
  env: this._config.env,
45
43
  loginType: LOGINTYPE.CUSTOM,
46
- persistence: this._config.persistence
44
+ persistence: this._config.persistence,
47
45
  });
48
46
 
49
47
  eventBus.fire(EVENTS.LOGIN_STATE_CHANGED);
@@ -54,16 +52,15 @@ export class CustomAuthProvider extends AuthProvider {
54
52
  const loginState = new LoginState({
55
53
  envId: this._config.env,
56
54
  cache: this._cache,
57
- request: this._request
55
+ request: this._request,
58
56
  });
59
57
  await loginState.checkLocalStateAsync();
60
58
 
61
59
  return loginState;
62
- } else {
63
- throw new Error(JSON.stringify({
64
- code: ERRORS.OPERATION_FAIL,
65
- msg: 'custom signIn failed'
66
- }));
67
60
  }
61
+ throw new Error(JSON.stringify({
62
+ code: ERRORS.OPERATION_FAIL,
63
+ msg: 'custom signIn failed',
64
+ }));
68
65
  }
69
- }
66
+ }
@@ -6,11 +6,9 @@ import { eventBus, EVENTS, LoginState } from '..';
6
6
 
7
7
  const { throwError, isString } = utils;
8
8
  const { ERRORS, COMMUNITY_SITE_URL } = constants;
9
- const { catchErrorsDecorator, stopAuthLoginWithOAuth } = helpers;
9
+ const { catchErrorsDecorator } = helpers;
10
10
 
11
11
  export class EmailAuthProvider extends AuthProvider {
12
-
13
- @stopAuthLoginWithOAuth()
14
12
  @catchErrorsDecorator({
15
13
  title: '邮箱密码登录失败',
16
14
  messages: [
@@ -18,8 +16,8 @@ export class EmailAuthProvider extends AuthProvider {
18
16
  ' 1 - 调用 auth().emailAuthProvider() 的语法或参数是否正确',
19
17
  ' 2 - 当前环境是否开通了邮箱登录',
20
18
  ' 3 - 邮箱地址与密码是否匹配',
21
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
22
- ]
19
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
20
+ ],
23
21
  })
24
22
  public async signIn(email: string, password: string): Promise<ILoginState> {
25
23
  if (!isString(email)) {
@@ -30,7 +28,7 @@ export class EmailAuthProvider extends AuthProvider {
30
28
  loginType: 'EMAIL',
31
29
  email,
32
30
  password,
33
- refresh_token: this._cache.getStore(refreshTokenKey) || ''
31
+ refresh_token: this._cache.getStore(refreshTokenKey) || '',
34
32
  });
35
33
  const { refresh_token, access_token, access_token_expire } = res;
36
34
  if (refresh_token) {
@@ -46,17 +44,17 @@ export class EmailAuthProvider extends AuthProvider {
46
44
  eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
47
45
  env: this._config.env,
48
46
  loginType: LOGINTYPE.EMAIL,
49
- persistence: this._config.persistence
47
+ persistence: this._config.persistence,
50
48
  });
51
49
  return new LoginState({
52
50
  envId: this._config.env,
53
51
  cache: this._cache,
54
- request: this._request
52
+ request: this._request,
55
53
  });
56
- } else if (res.code) {
54
+ } if (res.code) {
57
55
  throwError(ERRORS.OPERATION_FAIL, `Email login fail[${res.code}] ${res.message}`);
58
56
  } else {
59
- throwError(ERRORS.OPERATION_FAIL, `Email login fail`);
57
+ throwError(ERRORS.OPERATION_FAIL, 'Email login fail');
60
58
  }
61
59
  }
62
60
  /**
@@ -64,7 +62,6 @@ export class EmailAuthProvider extends AuthProvider {
64
62
  * @param email
65
63
  * @param password
66
64
  */
67
- @stopAuthLoginWithOAuth()
68
65
  @catchErrorsDecorator({
69
66
  title: '邮箱注册失败',
70
67
  messages: [
@@ -72,13 +69,13 @@ export class EmailAuthProvider extends AuthProvider {
72
69
  ' 1 - 调用 auth().signUpWithEmailAndPassword() 的语法或参数是否正确',
73
70
  ' 2 - 当前环境是否开通了邮箱登录',
74
71
  ' 3 - 此邮箱地址是否已经被其他用户占用',
75
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
76
- ]
72
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
73
+ ],
77
74
  })
78
75
  public async signUp(email: string, password: string) {
79
76
  return this._request.send('auth.signUpWithEmailAndPassword', {
80
77
  email,
81
- password
78
+ password,
82
79
  });
83
80
  }
84
81
  /**
@@ -93,12 +90,12 @@ export class EmailAuthProvider extends AuthProvider {
93
90
  ' 2 - 当前环境是否开通了邮箱登录',
94
91
  ' 3 - 此邮箱地址是否已经与当前用户绑定',
95
92
  ' 4 - 此邮箱地址是否已经被其他用户占用',
96
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
97
- ]
93
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
94
+ ],
98
95
  })
99
96
  public async resetPassword(email: string) {
100
97
  return this._request.send('auth.sendPasswordResetEmail', {
101
- email
98
+ email,
102
99
  });
103
100
  }
104
101
  /**
@@ -112,13 +109,13 @@ export class EmailAuthProvider extends AuthProvider {
112
109
  '请确认以下各项:',
113
110
  ' 1 - 调用语法或参数是否正确',
114
111
  ' 2 - 当前环境是否开通了邮箱登录',
115
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
116
- ]
112
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
113
+ ],
117
114
  })
118
115
  public async resetPasswordWithToken(token: string, newPassword: string) {
119
116
  return this._request.send('auth.resetPasswordWithToken', {
120
117
  token,
121
- newPassword
118
+ newPassword,
122
119
  });
123
120
  }
124
121
  /**
@@ -131,12 +128,12 @@ export class EmailAuthProvider extends AuthProvider {
131
128
  '请确认以下各项:',
132
129
  ' 1 - 调用语法或参数是否正确',
133
130
  ' 2 - 当前环境是否开通了邮箱登录',
134
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
135
- ]
131
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
132
+ ],
136
133
  })
137
134
  public async activate(token: string) {
138
135
  return this._request.send('auth.activateEndUserMail', {
139
- token
136
+ token,
140
137
  });
141
138
  }
142
- }
139
+ }
@@ -1,3 +1,4 @@
1
+ /* eslint-disable prefer-const */
1
2
  import { constants, utils, helpers } from '@cloudbase/utilities';
2
3
  import { ILoginState } from '@cloudbase/types/auth';
3
4
  import { AuthProvider } from './base';
@@ -6,16 +7,15 @@ import { eventBus, EVENTS, LoginState } from '..';
6
7
 
7
8
  const { throwError, isString, transformPhone } = utils;
8
9
  const { ERRORS, COMMUNITY_SITE_URL } = constants;
9
- const { catchErrorsDecorator, stopAuthLoginWithOAuth } = helpers;
10
+ const { catchErrorsDecorator } = helpers;
10
11
 
11
12
  export const SIGN_METHOD = {
12
13
  SIGNIN: 'SIGNIN',
13
14
  SIGNUP: 'SIGNUP',
14
- FORCERESETPWD: 'FORCERESETPWD'
15
- }
15
+ FORCERESETPWD: 'FORCERESETPWD',
16
+ };
16
17
 
17
18
  export class PhoneAuthProvider extends AuthProvider {
18
- @stopAuthLoginWithOAuth()
19
19
  @catchErrorsDecorator({
20
20
  title: '手机号登录失败',
21
21
  messages: [
@@ -23,8 +23,8 @@ export class PhoneAuthProvider extends AuthProvider {
23
23
  ' 1 - 调用 auth().SmsAuthProvider() 的语法或参数是否正确',
24
24
  ' 2 - 当前环境是否开通了短信验证码登录',
25
25
  ' 3 - 短信验证码/密码是否正确',
26
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
27
- ]
26
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
27
+ ],
28
28
  })
29
29
  public async signIn(param: {
30
30
  phoneNumber: string
@@ -32,7 +32,7 @@ export class PhoneAuthProvider extends AuthProvider {
32
32
  password?: string
33
33
  signMethod?: string
34
34
  }): Promise<ILoginState> {
35
- let { phoneNumber, phoneCode, password, signMethod } = param
35
+ let { phoneNumber, phoneCode, password, signMethod } = param;
36
36
  if (!isString(phoneNumber)) {
37
37
  throwError(ERRORS.INVALID_PARAMS, 'phoneNumber must be a string');
38
38
  }
@@ -42,7 +42,7 @@ export class PhoneAuthProvider extends AuthProvider {
42
42
  }
43
43
 
44
44
  if (!signMethod) {
45
- signMethod = SIGN_METHOD.SIGNIN
45
+ signMethod = SIGN_METHOD.SIGNIN;
46
46
  }
47
47
 
48
48
  const { refreshTokenKey } = this._cache.keys;
@@ -52,7 +52,7 @@ export class PhoneAuthProvider extends AuthProvider {
52
52
  phoneCode,
53
53
  password,
54
54
  refresh_token: this._cache.getStore(refreshTokenKey) || '',
55
- signMethod
55
+ signMethod,
56
56
  });
57
57
  const { refresh_token, access_token, access_token_expire } = res;
58
58
  if (refresh_token) {
@@ -68,17 +68,17 @@ export class PhoneAuthProvider extends AuthProvider {
68
68
  eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
69
69
  env: this._config.env,
70
70
  loginType: LOGINTYPE.PHONE,
71
- persistence: this._config.persistence
71
+ persistence: this._config.persistence,
72
72
  });
73
73
  return new LoginState({
74
74
  envId: this._config.env,
75
75
  cache: this._cache,
76
- request: this._request
76
+ request: this._request,
77
77
  });
78
- } else if (res.code) {
78
+ } if (res.code) {
79
79
  throwError(ERRORS.OPERATION_FAIL, `Phone login fail[${res.code}] ${res.message}`);
80
80
  } else {
81
- throwError(ERRORS.OPERATION_FAIL, `Phone login fail`);
81
+ throwError(ERRORS.OPERATION_FAIL, 'Phone login fail');
82
82
  }
83
83
  }
84
84
  /**
@@ -87,23 +87,22 @@ export class PhoneAuthProvider extends AuthProvider {
87
87
  * @param phoneCode
88
88
  * @param password
89
89
  */
90
- @stopAuthLoginWithOAuth()
91
90
  @catchErrorsDecorator({
92
91
  title: '手机短信注册失败',
93
92
  messages: [
94
93
  '请确认以下各项:',
95
94
  ' 1 - 调用 auth().signUpWithPhoneCode() 的语法或参数是否正确',
96
95
  ' 2 - 当前环境是否开通了短信验证码登录',
97
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
98
- ]
96
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
97
+ ],
99
98
  })
100
99
  public async signUp(phoneNumber: string, phoneCode: string, password?: string): Promise<ILoginState> {
101
100
  return this.signIn({
102
101
  phoneNumber,
103
102
  phoneCode,
104
103
  password,
105
- signMethod: SIGN_METHOD.SIGNUP
106
- })
104
+ signMethod: SIGN_METHOD.SIGNUP,
105
+ });
107
106
  }
108
107
 
109
108
  /**
@@ -118,15 +117,15 @@ export class PhoneAuthProvider extends AuthProvider {
118
117
  '请确认以下各项:',
119
118
  ' 1 - 调用 auth().forceResetPwd() 的语法或参数是否正确',
120
119
  ' 2 - 当前环境是否开通了短信验证码登录',
121
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
122
- ]
120
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
121
+ ],
123
122
  })
124
123
  public async forceResetPwd(phoneNumber: string, phoneCode: string, password: string): Promise<ILoginState> {
125
124
  return this.signIn({
126
125
  phoneNumber,
127
126
  phoneCode,
128
127
  password,
129
- signMethod: SIGN_METHOD.FORCERESETPWD
130
- })
128
+ signMethod: SIGN_METHOD.FORCERESETPWD,
129
+ });
131
130
  }
132
- }
131
+ }
@@ -6,10 +6,9 @@ import { utils, constants, helpers } from '@cloudbase/utilities';
6
6
 
7
7
  const { printWarn } = utils;
8
8
  const { ERRORS, COMMUNITY_SITE_URL } = constants;
9
- const { catchErrorsDecorator, stopAuthLoginWithOAuth } = helpers;
9
+ const { catchErrorsDecorator } = helpers;
10
10
 
11
11
  export class UsernameAuthProvider extends AuthProvider {
12
- @stopAuthLoginWithOAuth()
13
12
  @catchErrorsDecorator({
14
13
  title: '用户名密码登录失败',
15
14
  messages: [
@@ -17,14 +16,14 @@ export class UsernameAuthProvider extends AuthProvider {
17
16
  ' 1 - 调用 auth().signInWithUsernameAndPassword() 的语法或参数是否正确',
18
17
  ' 2 - 当前环境是否开通了用户名密码登录',
19
18
  ' 3 - 用户名密码是否匹配',
20
- `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`
21
- ]
19
+ `如果问题依然存在,建议到官方问答社区提问或寻找帮助:${COMMUNITY_SITE_URL}`,
20
+ ],
22
21
  })
23
22
  public async signIn(username: string, password: string): Promise<ILoginState> {
24
23
  if (typeof username !== 'string') {
25
24
  throw new Error(JSON.stringify({
26
25
  code: ERRORS.INVALID_PARAMS,
27
- msg: 'username must be a string'
26
+ msg: 'username must be a string',
28
27
  }));
29
28
  }
30
29
  // 用户不设置密码
@@ -38,7 +37,7 @@ export class UsernameAuthProvider extends AuthProvider {
38
37
  loginType: LOGINTYPE.USERNAME,
39
38
  username,
40
39
  password,
41
- refresh_token: await this._cache.getStoreAsync(refreshTokenKey) || ''
40
+ refresh_token: await this._cache.getStoreAsync(refreshTokenKey) || '',
42
41
  });
43
42
 
44
43
  const { refresh_token, access_token_expire, access_token } = res;
@@ -55,22 +54,22 @@ export class UsernameAuthProvider extends AuthProvider {
55
54
  eventBus.fire(EVENTS.LOGIN_TYPE_CHANGED, {
56
55
  env: this._config.env,
57
56
  loginType: LOGINTYPE.USERNAME,
58
- persistence: this._config.persistence
57
+ persistence: this._config.persistence,
59
58
  });
60
59
  return new LoginState({
61
60
  envId: this._config.env,
62
61
  cache: this._cache,
63
- request: this._request
62
+ request: this._request,
64
63
  });
65
- } else if (res.code) {
64
+ } if (res.code) {
66
65
  throw new Error(JSON.stringify({
67
66
  code: ERRORS.OPERATION_FAIL,
68
- msg: `login by username failed:[${res.code}] ${res.message}`
67
+ msg: `login by username failed:[${res.code}] ${res.message}`,
69
68
  }));
70
69
  } else {
71
70
  throw new Error(JSON.stringify({
72
71
  code: ERRORS.OPERATION_FAIL,
73
- msg: 'login by username failed'
72
+ msg: 'login by username failed',
74
73
  }));
75
74
  }
76
75
  }