@cloudbase/oauth 3.1.12 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,255 @@
1
+ import { ErrorType } from './consts';
2
+ export var AuthErrorCategory;
3
+ (function (AuthErrorCategory) {
4
+ AuthErrorCategory["PROVIDER_NOT_ENABLED"] = "PROVIDER_NOT_ENABLED";
5
+ AuthErrorCategory["INVALID_CREDENTIALS"] = "INVALID_CREDENTIALS";
6
+ AuthErrorCategory["USER_NOT_FOUND"] = "USER_NOT_FOUND";
7
+ AuthErrorCategory["USER_STATUS_ABNORMAL"] = "USER_STATUS_ABNORMAL";
8
+ AuthErrorCategory["SERVICE_ERROR"] = "SERVICE_ERROR";
9
+ AuthErrorCategory["INVALID_PARAMS"] = "INVALID_PARAMS";
10
+ AuthErrorCategory["AUTH_METHOD_MISMATCH"] = "AUTH_METHOD_MISMATCH";
11
+ AuthErrorCategory["UNKNOWN"] = "UNKNOWN";
12
+ })(AuthErrorCategory || (AuthErrorCategory = {}));
13
+ const CONSOLE_AUTH_URL = 'https://tcb.cloud.tencent.com/dev?envId=#/identity/login-manage';
14
+ const DOCS_URL = 'https://docs.cloudbase.net/api-reference/webv3-next/initialization';
15
+ function inferErrorCategory(message, status) {
16
+ if (!message && !status)
17
+ return AuthErrorCategory.UNKNOWN;
18
+ try {
19
+ const msg = (message || '').toLowerCase();
20
+ if (status === ErrorType.FAILED_PRECONDITION
21
+ || status === ErrorType.PROVIDER_NOT_ENABLED
22
+ || status === ErrorType.LOGIN_METHOD_DISABLED
23
+ || msg.includes('身份源')
24
+ || msg.includes('开启')
25
+ || msg.includes('identity provider')
26
+ || msg.includes('provider not enabled')
27
+ || msg.includes('login method')
28
+ || msg.includes('登录方式')
29
+ || msg.includes('not enabled')
30
+ || msg.includes('未开启')
31
+ || msg.includes('未启用')
32
+ || msg.includes('请联系开发者')
33
+ || msg.includes('anonymous login is not enabled')
34
+ || msg.includes('匿名登录未开启')) {
35
+ return AuthErrorCategory.PROVIDER_NOT_ENABLED;
36
+ }
37
+ if (status === ErrorType.INVALID_PASSWORD
38
+ || status === ErrorType.INVALID_GRANT
39
+ || status === ErrorType.INVALID_VERIFICATION_CODE
40
+ || status === ErrorType.INVALID_USERNAME_OR_PASSWORD
41
+ || status === ErrorType.INVALID_CREDENTIALS
42
+ || status === ErrorType.WRONG_PASSWORD
43
+ || status === ErrorType.UNAUTHENTICATED
44
+ || status === ErrorType.INVALID_TWO_FACTOR
45
+ || status === ErrorType.INVALID_TWO_FACTOR_RECOVERY
46
+ || status === ErrorType.PASSWORD_NOT_SET
47
+ || msg.includes('密码不正确')
48
+ || msg.includes('password')
49
+ || msg.includes('invalid_password')
50
+ || msg.includes('凭据')
51
+ || msg.includes('credentials')
52
+ || msg.includes('验证码')
53
+ || msg.includes('verification')
54
+ || msg.includes('invalid_verification_code')
55
+ || msg.includes('invalid_username_or_password')
56
+ || msg.includes('username or password')
57
+ || msg.includes('用户名或密码')
58
+ || msg.includes('wrong password')
59
+ || msg.includes('incorrect password')) {
60
+ return AuthErrorCategory.INVALID_CREDENTIALS;
61
+ }
62
+ if (status === ErrorType.NOT_FOUND
63
+ || status === ErrorType.USER_NOT_FOUND
64
+ || msg.includes('用户不存在')
65
+ || msg.includes('not found')
66
+ || msg.includes('user not found')
67
+ || msg.includes('不存在')
68
+ || msg.includes('no such user')
69
+ || msg.includes('user does not exist')) {
70
+ return AuthErrorCategory.USER_NOT_FOUND;
71
+ }
72
+ if (status === ErrorType.USER_BLOCKED
73
+ || status === ErrorType.USER_PENDING
74
+ || status === ErrorType.UNDER_REVIEW
75
+ || status === ErrorType.INVALID_STATUS
76
+ || msg.includes('被封禁')
77
+ || msg.includes('blocked')
78
+ || msg.includes('pending')
79
+ || msg.includes('审核')
80
+ || msg.includes('review')
81
+ || msg.includes('locked')
82
+ || msg.includes('已锁定')) {
83
+ return AuthErrorCategory.USER_STATUS_ABNORMAL;
84
+ }
85
+ if (status === ErrorType.SERVER_ERROR
86
+ || status === ErrorType.UNAVAILABLE
87
+ || status === ErrorType.TEMPORARILY_UNAVAILABLE
88
+ || status === ErrorType.INTERNAL
89
+ || status === ErrorType.UNREACHABLE
90
+ || status === ErrorType.DEADLINE_EXCEEDED
91
+ || status === ErrorType.DATA_LOSS
92
+ || msg.includes('network')
93
+ || msg.includes('timeout')
94
+ || msg.includes('服务')
95
+ || msg.includes('timed out')
96
+ || msg.includes('超时')) {
97
+ return AuthErrorCategory.SERVICE_ERROR;
98
+ }
99
+ if (status === ErrorType.INVALID_ARGUMENT
100
+ || status === ErrorType.INVALID_REQUEST
101
+ || status === ErrorType.INVALID_SCOPE
102
+ || status === ErrorType.INVALID_REQUEST_URI
103
+ || status === ErrorType.INVALID_REQUEST_OBJECT) {
104
+ return AuthErrorCategory.INVALID_PARAMS;
105
+ }
106
+ if (status === ErrorType.PERMISSION_DENIED
107
+ || status === ErrorType.ACCESS_DENIED
108
+ || status === ErrorType.UNAUTHORIZED_CLIENT) {
109
+ return AuthErrorCategory.PROVIDER_NOT_ENABLED;
110
+ }
111
+ return AuthErrorCategory.UNKNOWN;
112
+ }
113
+ catch (error) {
114
+ return status;
115
+ }
116
+ }
117
+ function generateHelpMessage(category, context) {
118
+ const methodName = context?.method || 'signIn';
119
+ const methodToProvider = {
120
+ signInWithPassword: '「用户名密码登录」',
121
+ signInAnonymously: '「匿名登录」',
122
+ signInWithOtp: '「短信验证码登录」或「邮箱验证码登录」',
123
+ signUp: '「短信验证码登录」或「邮箱验证码登录」',
124
+ signInWithOAuth: '对应的第三方身份源',
125
+ signInWithIdToken: '对应的第三方身份源',
126
+ signInWithOpenId: '「微信小程序 OpenID 登录」',
127
+ signInWithPhoneAuth: '「微信小程序手机号授权登录」',
128
+ signInWithCustomTicket: '「自定义登录」',
129
+ };
130
+ const requiredProvider = methodToProvider[methodName] || '对应的登录方式';
131
+ switch (category) {
132
+ case AuthErrorCategory.PROVIDER_NOT_ENABLED:
133
+ return ('[CloudBase Auth] 登录方式未开启\n'
134
+ + '\n'
135
+ + ` 当前调用的 ${methodName}() 所需的登录方式尚未在云开发控制台启用。\n`
136
+ + ` 需要开启的登录方式:${requiredProvider}\n`
137
+ + '\n'
138
+ + ' 请按以下步骤开启:\n'
139
+ + ` 1. 打开云开发控制台:${CONSOLE_AUTH_URL}\n`
140
+ + ' 2. 选择对应的云开发环境\n'
141
+ + ' 3. 进入「登录授权」页面,在「登录方式」或「身份源列表」中开启所需的登录方式\n'
142
+ + '\n'
143
+ + ' 各登录方法与所需登录方式的对应关系:\n'
144
+ + ' - signInWithPassword → 「用户名密码登录」\n'
145
+ + ' - signInAnonymously → 「匿名登录」\n'
146
+ + ' - signInWithOtp/signUp → 「短信验证码登录」或「邮箱验证码登录」\n'
147
+ + ' - signInWithOAuth/signInWithIdToken → 对应的第三方身份源\n'
148
+ + '\n'
149
+ + ' 如使用 CLI/MCP 工具,可通过 auth 工具查询和配置身份源状态。\n'
150
+ + ` 更多帮助请参考文档:${DOCS_URL}`);
151
+ case AuthErrorCategory.INVALID_CREDENTIALS:
152
+ return ('[CloudBase Auth] 凭据验证失败\n'
153
+ + '\n'
154
+ + ` 调用 ${methodName}() 时凭据校验未通过。\n`
155
+ + '\n'
156
+ + ' 请按优先级逐项排查:\n'
157
+ + ' 1. 确认用户名/邮箱/手机号是否拼写正确、格式完整\n'
158
+ + ' 2. 确认密码是否正确(注意大小写、特殊字符、前后空格)\n'
159
+ + ' 3. 确认用户账号确实存在(可通过 auth.isUsernameRegistered() 检查)\n'
160
+ + ' 4. 确认凭据参数来源可靠(环境变量、配置文件中的值是否已正确设置)\n'
161
+ + ' 5. 如使用加密登录(is_encrypt: true),请确认公钥版本正确\n'
162
+ + '\n'
163
+ + ' 如忘记密码,可通过 auth.resetPasswordForEmail() 重置密码。\n'
164
+ + '\n'
165
+ + ' 提示:如果是 AI agent / 自动化测试场景,请确认 ENV_ID、USERNAME、PASSWORD\n'
166
+ + ' 等环境变量已正确传入,且对应用户已在目标环境中注册。');
167
+ case AuthErrorCategory.USER_NOT_FOUND:
168
+ return ('[CloudBase Auth] 用户不存在\n'
169
+ + '\n'
170
+ + ' 请检查以下项目:\n'
171
+ + ' 1. 确认用户名/邮箱/手机号是否正确\n'
172
+ + ' 2. 确认是在正确的云开发环境(envId)下操作\n'
173
+ + ' 3. 如果是新用户,请先通过 auth.signUp() 注册\n'
174
+ + ` 4. 也可在云开发控制台手动创建用户:${CONSOLE_AUTH_URL}\n`
175
+ + '\n'
176
+ + ' 提示:不同环境(开发/测试/生产)的用户库是隔离的,请确认 envId 正确。');
177
+ case AuthErrorCategory.USER_STATUS_ABNORMAL:
178
+ return ('[CloudBase Auth] 用户状态异常\n'
179
+ + '\n'
180
+ + ' 当前用户账号可能处于以下状态之一:\n'
181
+ + ' - 账号已被封禁\n'
182
+ + ' - 账号正在审核中\n'
183
+ + ' - 账号已被锁定(多次密码错误)\n'
184
+ + '\n'
185
+ + ` 请联系管理员在云开发控制台检查用户状态:${CONSOLE_AUTH_URL}`);
186
+ case AuthErrorCategory.SERVICE_ERROR:
187
+ return ('[CloudBase Auth] 服务异常\n'
188
+ + '\n'
189
+ + ' 请检查以下项目:\n'
190
+ + ' 1. 网络连接是否正常\n'
191
+ + ' 2. 云开发环境是否正常运行\n'
192
+ + ' 3. 稍后重试,如持续失败请联系技术支持\n'
193
+ + '\n'
194
+ + ' 提示:如果是超时错误,请检查网络环境和请求频率。');
195
+ case AuthErrorCategory.INVALID_PARAMS:
196
+ return ('[CloudBase Auth] 参数错误\n'
197
+ + '\n'
198
+ + ' 请检查传入的参数是否符合要求,参考 API 文档确认各参数的格式和约束。\n'
199
+ + ` 文档地址:${DOCS_URL}`);
200
+ case AuthErrorCategory.AUTH_METHOD_MISMATCH:
201
+ return ('[CloudBase Auth] 登录方式不匹配\n'
202
+ + '\n'
203
+ + ` 调用 ${methodName}() 时遇到错误,可能原因:\n`
204
+ + ' - 匿名登录失败后尝试了用户名密码登录,但凭据不正确或用户不存在\n'
205
+ + ' - 应使用匿名登录但传入了密码参数\n'
206
+ + ' - 应使用密码登录但未传入正确的凭据\n'
207
+ + '\n'
208
+ + ' 建议:\n'
209
+ + ' 1. 明确当前场景需要的登录方式:\n'
210
+ + ' - 无需用户注册 → auth.signInAnonymously()\n'
211
+ + ' - 有用户名和密码 → auth.signInWithPassword({ username, password })\n'
212
+ + ' - 第三方平台 → auth.signInWithOAuth({ provider })\n'
213
+ + ' 2. 不要在同一流程中混合使用不同的登录方式\n'
214
+ + ' 3. 每种登录方式需要在控制台开启对应的身份源\n'
215
+ + ` 4. 控制台地址:${CONSOLE_AUTH_URL}`);
216
+ default:
217
+ return ('[CloudBase Auth] 操作失败\n'
218
+ + '\n'
219
+ + ' 如果问题持续存在,建议:\n'
220
+ + ` 1. 检查云开发控制台的认证配置:${CONSOLE_AUTH_URL}\n`
221
+ + ' 2. 到官方问答社区提问:https://cnb.cool/tencent/cloud/cloudbase/community/-/issues\n'
222
+ + ` 3. 查阅文档:${DOCS_URL}`);
223
+ }
224
+ }
225
+ function generateLoginMethodHint(method) {
226
+ if (!method)
227
+ return '';
228
+ const hints = {
229
+ signInWithPassword: '当前使用「用户名密码登录」,需确保:\n'
230
+ + ' ✓ 控制台已开启「用户名密码登录」\n'
231
+ + ' ✓ 用户已注册且凭据正确\n'
232
+ + ' 如果不需要用户系统,建议改用 auth.signInAnonymously()',
233
+ signInAnonymously: '当前使用「匿名登录」,需确保:\n'
234
+ + ' ✓ 控制台已开启「匿名登录」\n'
235
+ + ' 注意:匿名用户无需用户名密码,适用于快速体验或临时访问场景',
236
+ signInWithOtp: '当前使用「OTP 验证码登录」,需确保:\n' + ' ✓ 控制台已开启「短信验证码登录」或「邮箱验证码登录」',
237
+ signInWithOAuth: '当前使用「第三方 OAuth 登录」,需确保:\n' + ' ✓ 控制台已配置并开启对应的第三方身份源',
238
+ };
239
+ return hints[method] || '';
240
+ }
1
241
  export class AuthError extends Error {
2
- constructor(error) {
3
- super(error.error_description || error.message);
242
+ constructor(error, context) {
243
+ const message = error.error_description || error.message;
244
+ super(message);
4
245
  this.__isAuthError = true;
5
246
  this.name = 'AuthError';
6
247
  this.status = error.error;
7
248
  this.code = error.error_code;
8
249
  this.requestId = error.requestId;
250
+ this.category = inferErrorCategory(message, this.status);
251
+ this.helpMessage = generateHelpMessage(this.category, context);
252
+ this.loginMethodHint = generateLoginMethodHint(context?.method);
9
253
  }
10
254
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2F1dGgtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFNBQVUsU0FBUSxLQUFLO0lBaUJsQyxZQUFZLEtBQUs7UUFDZixLQUFLLENBQUMsS0FBSyxDQUFDLGlCQUFpQixJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUh2QyxrQkFBYSxHQUFHLElBQUksQ0FBQTtRQUk1QixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsQ0FBQTtRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUE7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFBO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQTtJQUNsQyxDQUFDO0NBQ0YifQ==
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hdXRoL2F1dGgtZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVwQyxNQUFNLENBQU4sSUFBWSxpQkFpQlg7QUFqQkQsV0FBWSxpQkFBaUI7SUFFM0Isa0VBQTZDLENBQUE7SUFFN0MsZ0VBQTJDLENBQUE7SUFFM0Msc0RBQWlDLENBQUE7SUFFakMsa0VBQTZDLENBQUE7SUFFN0Msb0RBQStCLENBQUE7SUFFL0Isc0RBQWlDLENBQUE7SUFFakMsa0VBQTZDLENBQUE7SUFFN0Msd0NBQW1CLENBQUE7QUFDckIsQ0FBQyxFQWpCVyxpQkFBaUIsS0FBakIsaUJBQWlCLFFBaUI1QjtBQUtELE1BQU0sZ0JBQWdCLEdBQUcsaUVBQWlFLENBQUE7QUFFMUYsTUFBTSxRQUFRLEdBQUcsb0VBQW9FLENBQUE7QUFTckYsU0FBUyxrQkFBa0IsQ0FBQyxPQUFnQixFQUFFLE1BQWU7SUFDM0QsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLGlCQUFpQixDQUFDLE9BQU8sQ0FBQTtJQUV6RCxJQUFJO1FBQ0YsTUFBTSxHQUFHLEdBQUcsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7UUFHekMsSUFDRSxNQUFNLEtBQUssU0FBUyxDQUFDLG1CQUFtQjtlQUNyQyxNQUFNLEtBQUssU0FBUyxDQUFDLG9CQUFvQjtlQUN6QyxNQUFNLEtBQUssU0FBUyxDQUFDLHFCQUFxQjtlQUMxQyxHQUFHLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztlQUNuQixHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztlQUNsQixHQUFHLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDO2VBQ2pDLEdBQUcsQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUM7ZUFD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
@@ -106,7 +106,13 @@ export declare enum ErrorType {
106
106
  REQUEST_URI_NOT_SUPPORTED = "request_uri_not_supported",
107
107
  REGISTRATION_NOT_SUPPORTED = "registration_not_supported",
108
108
  CAPTCHA_REQUIRED = "captcha_required",
109
- CAPTCHA_INVALID = "captcha_invalid"
109
+ CAPTCHA_INVALID = "captcha_invalid",
110
+ PROVIDER_NOT_ENABLED = "provider_not_enabled",
111
+ LOGIN_METHOD_DISABLED = "login_method_disabled",
112
+ INVALID_USERNAME_OR_PASSWORD = "invalid_username_or_password",
113
+ INVALID_CREDENTIALS = "invalid_credentials",
114
+ WRONG_PASSWORD = "wrong_password",
115
+ USER_NOT_FOUND = "user_not_found"
110
116
  }
111
117
  export declare const LOGIN_STATE_CHANGED_TYPE: {
112
118
  SIGN_OUT: string;
@@ -111,6 +111,12 @@ export var ErrorType;
111
111
  ErrorType["REGISTRATION_NOT_SUPPORTED"] = "registration_not_supported";
112
112
  ErrorType["CAPTCHA_REQUIRED"] = "captcha_required";
113
113
  ErrorType["CAPTCHA_INVALID"] = "captcha_invalid";
114
+ ErrorType["PROVIDER_NOT_ENABLED"] = "provider_not_enabled";
115
+ ErrorType["LOGIN_METHOD_DISABLED"] = "login_method_disabled";
116
+ ErrorType["INVALID_USERNAME_OR_PASSWORD"] = "invalid_username_or_password";
117
+ ErrorType["INVALID_CREDENTIALS"] = "invalid_credentials";
118
+ ErrorType["WRONG_PASSWORD"] = "wrong_password";
119
+ ErrorType["USER_NOT_FOUND"] = "user_not_found";
114
120
  })(ErrorType || (ErrorType = {}));
115
121
  export const LOGIN_STATE_CHANGED_TYPE = {
116
122
  SIGN_OUT: 'sign_out',
@@ -135,4 +141,4 @@ export const OAUTH_TYPE = {
135
141
  BIND_IDENTITY: 'bind_identity',
136
142
  };
137
143
  export const DEFAULT_NODE_ACCESS_SCOPE = 'node-sdk-scope';
138
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUE7QUFFdEMsTUFBTSxDQUFOLElBQVksT0FpRFg7QUFqREQsV0FBWSxPQUFPO0lBQ2pCLDBDQUErQixDQUFBO0lBQy9CLHVDQUE0QixDQUFBO0lBQzVCLHlDQUE4QixDQUFBO0lBQzlCLHFEQUEwQyxDQUFBO0lBQzFDLDRDQUFpQyxDQUFBO0lBQ2pDLG1EQUF3QyxDQUFBO0lBQ3hDLCtDQUFvQyxDQUFBO0lBQ3BDLHVEQUE0QyxDQUFBO0lBQzVDLGlFQUFzRCxDQUFBO0lBRXRELDBDQUErQixDQUFBO0lBQy9CLGtFQUF1RCxDQUFBO0lBQ3ZELHNFQUEyRCxDQUFBO0lBQzNELG9FQUF5RCxDQUFBO0lBQ3pELG9EQUF5QyxDQUFBO0lBRXpDLG9EQUF5QyxDQUFBO0lBQ3pDLGdEQUFxQyxDQUFBO0lBRXJDLHNDQUEyQixDQUFBO0lBQzNCLGdEQUFxQyxDQUFBO0lBQ3JDLDRDQUFpQyxDQUFBO0lBQ2pDLGdEQUFxQyxDQUFBO0lBQ3JDLHNEQUEyQyxDQUFBO0lBQzNDLG9FQUF5RCxDQUFBO0lBQ3pELDhDQUFtQyxDQUFBO0lBQ25DLHVEQUE0QyxDQUFBO0lBQzVDLG9EQUF5QyxDQUFBO0lBQ3pDLDBDQUErQixDQUFBO0lBQy9CLHFDQUEwQixDQUFBO0lBQzFCLGdEQUFxQyxDQUFBO0lBQ3JDLGtEQUF1QyxDQUFBO0lBQ3ZDLDZEQUFrRCxDQUFBO0lBQ2xELCtDQUFvQyxDQUFBO0lBQ3BDLHlEQUE4QyxDQUFBO0lBQzlDLHlFQUE4RCxDQUFBO0lBQzlELHNEQUEyQyxDQUFBO0lBQzNDLDhEQUFtRCxDQUFBO0lBRW5ELGdEQUFxQyxDQUFBO0lBQ3JDLGlEQUFzQyxDQUFBO0lBRXRDLGdEQUFxQyxDQUFBO0lBQ3JDLDhEQUFtRCxDQUFBO0lB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
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2F1dGgvY29uc3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxPQUFPLENBQUE7QUFFdEMsTUFBTSxDQUFOLElBQVksT0FpRFg7QUFqREQsV0FBWSxPQUFPO0lBQ2pCLDBDQUErQixDQUFBO0lBQy9CLHVDQUE0QixDQUFBO0lBQzVCLHlDQUE4QixDQUFBO0lBQzlCLHFEQUEwQyxDQUFBO0lBQzFDLDRDQUFpQyxDQUFBO0lBQ2pDLG1EQUF3QyxDQUFBO0lBQ3hDLCtDQUFvQyxDQUFBO0lBQ3BDLHVEQUE0QyxDQUFBO0lBQzVDLGlFQUFzRCxDQUFBO0lBRXRELDBDQUErQixDQUFBO0lBQy9CLGtFQUF1RCxDQUFBO0lBQ3ZELHNFQUEyRCxDQUFBO0lBQzNELG9FQUF5RCxDQUFBO0lBQ3pELG9EQUF5QyxDQUFBO0lBRXpDLG9EQUF5QyxDQUFBO0lBQ3pDLGdEQUFxQyxDQUFBO0lBRXJDLHNDQUEyQixDQUFBO0lBQzNCLGdEQUFxQyxDQUFBO0lBQ3JDLDRDQUFpQyxDQUFBO0lBQ2pDLGdEQUFxQyxDQUFBO0lBQ3JDLHNEQUEyQyxDQUFBO0lBQzNDLG9FQUF5RCxDQUFBO0lBQ3pELDhDQUFtQyxDQUFBO0lBQ25DLHVEQUE0QyxDQUFBO0lBQzVDLG9EQUF5QyxDQUFBO0lBQ3pDLDBDQUErQixDQUFBO0lBQy9CLHFDQUEwQixDQUFBO0lBQzFCLGdEQUFxQyxDQUFBO0lBQ3JDLGtEQUF1QyxDQUFBO0lBQ3ZDLDZEQUFrRCxDQUFBO0lBQ2xELCtDQUFvQyxDQUFBO0lBQ3BDLHlEQUE4QyxDQUFBO0lBQzlDLHlFQUE4RCxDQUFBO0lBQzlELHNEQUEyQyxDQUFBO0lBQzNDLDhEQUFtRCxDQUFBO0lBRW5ELGdEQUFxQyxDQUFBO0lBQ3JDLGlEQUFzQyxDQUFBO0lBRXRDLGdEQUFxQyxDQUFBO0lBQ3JDLDhEQUFtRCxDQUFBO0lB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
@@ -2,7 +2,7 @@ import { OAuth2Client } from './oauth2client/oauth2client';
2
2
  import { AuthOptions, Auth } from './auth/apis';
3
3
  import { Credentials } from './oauth2client/models';
4
4
  export { Auth } from './auth/apis';
5
- export { AuthError } from './auth/auth-error';
5
+ export { AuthError, AuthErrorCategory } from './auth/auth-error';
6
6
  export * as authModels from './auth/models';
7
7
  export type { ProviderProfile, UserInfo, ModifyUserBasicInfoRequest } from './auth/models';
8
8
  export type { Credentials, OAuth2ClientOptions, ResponseError, AuthClientRequestOptions } from './oauth2client/models';
package/dist/esm/index.js CHANGED
@@ -2,7 +2,7 @@ import { OAuth2Client } from './oauth2client/oauth2client';
2
2
  import { Auth } from './auth/apis';
3
3
  import { AUTH_API_PREFIX } from './auth/consts';
4
4
  export { Auth } from './auth/apis';
5
- export { AuthError } from './auth/auth-error';
5
+ export { AuthError, AuthErrorCategory } from './auth/auth-error';
6
6
  import * as authModels_1 from './auth/models';
7
7
  export { authModels_1 as authModels };
8
8
  export { weAppJwtDecodeAll } from './utils/base64';
@@ -61,4 +61,4 @@ export class CloudbaseOAuth {
61
61
  this.oauth2client.initialize();
62
62
  }
63
63
  }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQzFELE9BQU8sRUFBZSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs4QkFDakIsZUFBZTt5QkFBL0IsVUFBVTtBQUl0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFakosTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxXQUF3QjtRQUVsQyxNQUFNLEVBQ0osU0FBUyxFQUNULE9BQU8sR0FBRyxlQUFlLEVBQ3pCLFFBQVEsRUFDUixHQUFHLEVBQ0gsT0FBTyxFQUNQLE9BQU8sRUFDUCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxPQUFPLEVBQ1Asa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxJQUFJLEVBQ0osVUFBVSxFQUNWLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsS0FBSyxHQUNOLEdBQUcsV0FBVyxDQUFBO1FBQ2YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixJQUFJLEtBQUssQ0FBQTtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQ25DLFNBQVM7WUFDVCxPQUFPO1lBQ1AsUUFBUTtZQUNSLEdBQUc7WUFDSCxPQUFPO1lBQ1AsV0FBVyxFQUFFLFdBQVcsSUFBSSxPQUFPO1lBQ25DLG1CQUFtQjtZQUNuQixPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtZQUN0QixJQUFJO1lBQ0osVUFBVTtZQUNWLFFBQVE7WUFDUixLQUFLO1NBQ04sQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQztZQUN0QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUNwQyxHQUFHLFdBQVc7WUFFZCxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2hGLE9BQU87U0FDUixDQUFDLENBQUE7UUFJRixJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7U0FDMUY7YUFBTTtZQUVMLElBQUk7Z0JBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDekMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3pDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUE7Z0JBQ3JFLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUUsSUFBSSxFQUFFO29CQUNwQyxHQUFHLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUE7b0JBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7b0JBQ3JELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO2lCQUN4QzthQUNGO1lBQUMsT0FBTyxLQUFLLEVBQUU7YUFFZjtTQUNGO0lBR0gsQ0FBQztJQU9NLGlCQUFpQixDQUFDLGNBQWlIO1FBQ3hJLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDOUQsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUU3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ2hDLENBQUM7Q0FDRiJ9
64
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBQzFELE9BQU8sRUFBZSxJQUFJLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUUvQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQ2xDLE9BQU8sRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTs4QkFDcEMsZUFBZTt5QkFBL0IsVUFBVTtBQUl0QixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNsRCxPQUFPLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSx5QkFBeUIsRUFBRSx3QkFBd0IsRUFBRSxNQUFNLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFFakosTUFBTSxPQUFPLGNBQWM7SUFLekIsWUFBWSxXQUF3QjtRQUVsQyxNQUFNLEVBQ0osU0FBUyxFQUNULE9BQU8sR0FBRyxlQUFlLEVBQ3pCLFFBQVEsRUFDUixHQUFHLEVBQ0gsT0FBTyxFQUNQLE9BQU8sRUFDUCxXQUFXLEVBQ1gsbUJBQW1CLEVBQ25CLE9BQU8sRUFDUCxPQUFPLEVBQ1Asa0JBQWtCLEVBQ2xCLE9BQU8sRUFDUCxJQUFJLEVBQ0osVUFBVSxFQUNWLFFBQVEsRUFDUixrQkFBa0IsRUFDbEIsS0FBSyxHQUNOLEdBQUcsV0FBVyxDQUFBO1FBQ2YsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGtCQUFrQixJQUFJLEtBQUssQ0FBQTtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksWUFBWSxDQUFDO1lBQ25DLFNBQVM7WUFDVCxPQUFPO1lBQ1AsUUFBUTtZQUNSLEdBQUc7WUFDSCxPQUFPO1lBQ1AsV0FBVyxFQUFFLFdBQVcsSUFBSSxPQUFPO1lBQ25DLG1CQUFtQjtZQUNuQixPQUFPO1lBQ1Asa0JBQWtCO1lBQ2xCLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtZQUN0QixJQUFJO1lBQ0osVUFBVTtZQUNWLFFBQVE7WUFDUixLQUFLO1NBQ04sQ0FBQyxDQUFBO1FBRUYsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQztZQUN0QixpQkFBaUIsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUNwQyxHQUFHLFdBQVc7WUFFZCxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTO1lBQ2hGLE9BQU87U0FDUixDQUFDLENBQUE7UUFJRixJQUFJLGtCQUFrQixFQUFFO1lBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUE7U0FDMUY7YUFBTTtZQUVMLElBQUk7Z0JBQ0YsTUFBTSxHQUFHLEdBQUcsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtnQkFDekMsTUFBTSxJQUFJLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3pDLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO2dCQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksTUFBTSxDQUFDLENBQUE7Z0JBQ3JFLElBQUksSUFBSSxJQUFJLEtBQUssSUFBSSxTQUFTLEVBQUUsSUFBSSxFQUFFO29CQUNwQyxHQUFHLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUE7b0JBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUE7b0JBQ3JELE1BQU0sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO2lCQUN4QzthQUNGO1lBQUMsT0FBTyxLQUFLLEVBQUU7YUFFZjtTQUNGO0lBR0gsQ0FBQztJQU9NLGlCQUFpQixDQUFDLGNBQWlIO1FBQ3hJLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7WUFDOUQsT0FBTTtTQUNQO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsQ0FBQTtRQUU3RCxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFBO0lBQ2hDLENBQUM7Q0FDRiJ9