@cloudbase/oauth 0.1.1-alpha → 0.1.1-alpha.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 (332) hide show
  1. package/Dockerfile +15 -0
  2. package/README.md +1 -1
  3. package/_exmaple/assets/scripts/function/function.ts +99 -0
  4. package/_exmaple/assets/scripts/index.ts +99 -0
  5. package/_exmaple/assets/scripts/request.ts +11 -0
  6. package/_exmaple/index.html +15 -0
  7. package/_exmaple/package.json +33 -0
  8. package/_exmaple/tsconfig.json +71 -0
  9. package/_exmaple/typings.d.ts +0 -0
  10. package/_exmaple/webpack.config.js +42 -0
  11. package/cdnjs/1.0.0/cloudbase.auth.js +1 -0
  12. package/cdnjs/1.0.0/cloudbase.database.js +8 -0
  13. package/cdnjs/1.0.0/cloudbase.full.js +8 -0
  14. package/cdnjs/1.0.0/cloudbase.functions.js +1 -0
  15. package/cdnjs/1.0.0/cloudbase.js +1 -0
  16. package/cdnjs/1.0.0/cloudbase.storage.js +1 -0
  17. package/cdnjs/1.0.1/cloudbase.auth.js +1 -0
  18. package/cdnjs/1.0.1/cloudbase.database.js +8 -0
  19. package/cdnjs/1.0.1/cloudbase.full.js +8 -0
  20. package/cdnjs/1.0.1/cloudbase.functions.js +1 -0
  21. package/cdnjs/1.0.1/cloudbase.js +1 -0
  22. package/cdnjs/1.0.1/cloudbase.storage.js +1 -0
  23. package/cdnjs/1.0.2/cloudbase.auth.js +1 -0
  24. package/cdnjs/1.0.2/cloudbase.database.js +8 -0
  25. package/cdnjs/1.0.2/cloudbase.full.js +8 -0
  26. package/cdnjs/1.0.2/cloudbase.functions.js +1 -0
  27. package/cdnjs/1.0.2/cloudbase.js +1 -0
  28. package/cdnjs/1.0.2/cloudbase.storage.js +1 -0
  29. package/cdnjs/1.0.3/cloudbase.auth.js +1 -0
  30. package/cdnjs/1.0.3/cloudbase.database.js +8 -0
  31. package/cdnjs/1.0.3/cloudbase.full.js +8 -0
  32. package/cdnjs/1.0.3/cloudbase.functions.js +1 -0
  33. package/cdnjs/1.0.3/cloudbase.js +1 -0
  34. package/cdnjs/1.0.3/cloudbase.storage.js +1 -0
  35. package/cdnjs/1.0.4/cloudbase.auth.js +1 -0
  36. package/cdnjs/1.0.4/cloudbase.database.js +8 -0
  37. package/cdnjs/1.0.4/cloudbase.full.js +8 -0
  38. package/cdnjs/1.0.4/cloudbase.functions.js +1 -0
  39. package/cdnjs/1.0.4/cloudbase.js +1 -0
  40. package/cdnjs/1.0.4/cloudbase.storage.js +1 -0
  41. package/cdnjs/1.1.0/cloudbase.auth.js +1 -0
  42. package/cdnjs/1.1.0/cloudbase.database.js +8 -0
  43. package/cdnjs/1.1.0/cloudbase.full.js +8 -0
  44. package/cdnjs/1.1.0/cloudbase.functions.js +1 -0
  45. package/cdnjs/1.1.0/cloudbase.js +1 -0
  46. package/cdnjs/1.1.0/cloudbase.storage.js +1 -0
  47. package/cdnjs/1.1.1/cloudbase.auth.js +1 -0
  48. package/cdnjs/1.1.1/cloudbase.database.js +8 -0
  49. package/cdnjs/1.1.1/cloudbase.full.js +8 -0
  50. package/cdnjs/1.1.1/cloudbase.functions.js +1 -0
  51. package/cdnjs/1.1.1/cloudbase.js +1 -0
  52. package/cdnjs/1.1.1/cloudbase.storage.js +1 -0
  53. package/cdnjs/1.1.2/cloudbase.auth.js +1 -0
  54. package/cdnjs/1.1.2/cloudbase.database.js +8 -0
  55. package/cdnjs/1.1.2/cloudbase.full.js +8 -0
  56. package/cdnjs/1.1.2/cloudbase.functions.js +1 -0
  57. package/cdnjs/1.1.2/cloudbase.js +1 -0
  58. package/cdnjs/1.1.2/cloudbase.storage.js +1 -0
  59. package/cdnjs/1.1.3/cloudbase.auth.js +1 -0
  60. package/cdnjs/1.1.3/cloudbase.database.js +8 -0
  61. package/cdnjs/1.1.3/cloudbase.full.js +8 -0
  62. package/cdnjs/1.1.3/cloudbase.functions.js +1 -0
  63. package/cdnjs/1.1.3/cloudbase.js +1 -0
  64. package/cdnjs/1.1.3/cloudbase.storage.js +1 -0
  65. package/cdnjs/1.1.4/cloudbase.auth.js +1 -0
  66. package/cdnjs/1.1.4/cloudbase.database.js +8 -0
  67. package/cdnjs/1.1.4/cloudbase.full.js +8 -0
  68. package/cdnjs/1.1.4/cloudbase.functions.js +1 -0
  69. package/cdnjs/1.1.4/cloudbase.js +1 -0
  70. package/cdnjs/1.1.4/cloudbase.storage.js +1 -0
  71. package/cdnjs/1.2.1/cloudbase.auth.js +1 -0
  72. package/cdnjs/1.2.1/cloudbase.database.js +8 -0
  73. package/cdnjs/1.2.1/cloudbase.full.js +8 -0
  74. package/cdnjs/1.2.1/cloudbase.functions.js +1 -0
  75. package/cdnjs/1.2.1/cloudbase.js +1 -0
  76. package/cdnjs/1.2.1/cloudbase.storage.js +1 -0
  77. package/cdnjs/1.2.2/cloudbase.auth.js +1 -0
  78. package/cdnjs/1.2.2/cloudbase.database.js +8 -0
  79. package/cdnjs/1.2.2/cloudbase.full.js +8 -0
  80. package/cdnjs/1.2.2/cloudbase.functions.js +1 -0
  81. package/cdnjs/1.2.2/cloudbase.js +1 -0
  82. package/cdnjs/1.2.2/cloudbase.storage.js +1 -0
  83. package/cdnjs/1.2.3/cloudbase.auth.js +1 -0
  84. package/cdnjs/1.2.3/cloudbase.database.js +8 -0
  85. package/cdnjs/1.2.3/cloudbase.full.js +8 -0
  86. package/cdnjs/1.2.3/cloudbase.functions.js +1 -0
  87. package/cdnjs/1.2.3/cloudbase.js +1 -0
  88. package/cdnjs/1.2.3/cloudbase.storage.js +1 -0
  89. package/cdnjs/1.3.0/cloudbase.auth.js +1 -0
  90. package/cdnjs/1.3.0/cloudbase.database.js +8 -0
  91. package/cdnjs/1.3.0/cloudbase.full.js +8 -0
  92. package/cdnjs/1.3.0/cloudbase.functions.js +1 -0
  93. package/cdnjs/1.3.0/cloudbase.js +1 -0
  94. package/cdnjs/1.3.0/cloudbase.realtime.js +1 -0
  95. package/cdnjs/1.3.0/cloudbase.storage.js +1 -0
  96. package/cdnjs/1.3.1/cloudbase.auth.js +1 -0
  97. package/cdnjs/1.3.1/cloudbase.database.js +8 -0
  98. package/cdnjs/1.3.1/cloudbase.full.js +8 -0
  99. package/cdnjs/1.3.1/cloudbase.functions.js +1 -0
  100. package/cdnjs/1.3.1/cloudbase.js +1 -0
  101. package/cdnjs/1.3.1/cloudbase.realtime.js +1 -0
  102. package/cdnjs/1.3.1/cloudbase.storage.js +1 -0
  103. package/cdnjs/1.3.2/cloudbase.auth.js +1 -0
  104. package/cdnjs/1.3.2/cloudbase.database.js +8 -0
  105. package/cdnjs/1.3.2/cloudbase.full.js +8 -0
  106. package/cdnjs/1.3.2/cloudbase.functions.js +1 -0
  107. package/cdnjs/1.3.2/cloudbase.js +1 -0
  108. package/cdnjs/1.3.2/cloudbase.realtime.js +1 -0
  109. package/cdnjs/1.3.2/cloudbase.storage.js +1 -0
  110. package/cdnjs/1.3.3/cloudbase.auth.js +1 -0
  111. package/cdnjs/1.3.3/cloudbase.database.js +8 -0
  112. package/cdnjs/1.3.3/cloudbase.full.js +8 -0
  113. package/cdnjs/1.3.3/cloudbase.functions.js +1 -0
  114. package/cdnjs/1.3.3/cloudbase.js +1 -0
  115. package/cdnjs/1.3.3/cloudbase.realtime.js +1 -0
  116. package/cdnjs/1.3.3/cloudbase.storage.js +1 -0
  117. package/cdnjs/1.3.4-alpha.0/cloudbase.auth.js +1 -0
  118. package/cdnjs/1.3.4-alpha.0/cloudbase.database.js +8 -0
  119. package/cdnjs/1.3.4-alpha.0/cloudbase.full.js +8 -0
  120. package/cdnjs/1.3.4-alpha.0/cloudbase.functions.js +1 -0
  121. package/cdnjs/1.3.4-alpha.0/cloudbase.js +1 -0
  122. package/cdnjs/1.3.4-alpha.0/cloudbase.realtime.js +1 -0
  123. package/cdnjs/1.3.4-alpha.0/cloudbase.storage.js +1 -0
  124. package/cdnjs/1.3.5/cloudbase.analytics.js +1 -0
  125. package/cdnjs/1.3.5/cloudbase.auth.js +1 -0
  126. package/cdnjs/1.3.5/cloudbase.database.js +10 -0
  127. package/cdnjs/1.3.5/cloudbase.full.js +10 -0
  128. package/cdnjs/1.3.5/cloudbase.functions.js +1 -0
  129. package/cdnjs/1.3.5/cloudbase.js +1 -0
  130. package/cdnjs/1.3.5/cloudbase.realtime.js +1 -0
  131. package/cdnjs/1.3.5/cloudbase.storage.js +1 -0
  132. package/cdnjs/1.3.5-alpha.0/cloudbase.auth.js +1 -0
  133. package/cdnjs/1.3.5-alpha.0/cloudbase.database.js +10 -0
  134. package/cdnjs/1.3.5-alpha.0/cloudbase.full.js +10 -0
  135. package/cdnjs/1.3.5-alpha.0/cloudbase.functions.js +1 -0
  136. package/cdnjs/1.3.5-alpha.0/cloudbase.js +1 -0
  137. package/cdnjs/1.3.5-alpha.0/cloudbase.realtime.js +1 -0
  138. package/cdnjs/1.3.5-alpha.0/cloudbase.storage.js +1 -0
  139. package/cdnjs/1.4.0/cloudbase.analytics.js +1 -0
  140. package/cdnjs/1.4.0/cloudbase.auth.js +1 -0
  141. package/cdnjs/1.4.0/cloudbase.database.js +10 -0
  142. package/cdnjs/1.4.0/cloudbase.full.js +10 -0
  143. package/cdnjs/1.4.0/cloudbase.functions.js +1 -0
  144. package/cdnjs/1.4.0/cloudbase.js +1 -0
  145. package/cdnjs/1.4.0/cloudbase.realtime.js +1 -0
  146. package/cdnjs/1.4.0/cloudbase.storage.js +1 -0
  147. package/cdnjs/1.4.1/cloudbase.analytics.js +1 -0
  148. package/cdnjs/1.4.1/cloudbase.auth.js +1 -0
  149. package/cdnjs/1.4.1/cloudbase.database.js +10 -0
  150. package/cdnjs/1.4.1/cloudbase.full.js +10 -0
  151. package/cdnjs/1.4.1/cloudbase.functions.js +1 -0
  152. package/cdnjs/1.4.1/cloudbase.js +1 -0
  153. package/cdnjs/1.4.1/cloudbase.realtime.js +1 -0
  154. package/cdnjs/1.4.1/cloudbase.storage.js +1 -0
  155. package/cdnjs/1.4.1-alpha.0/cloudbase.analytics.js +1 -0
  156. package/cdnjs/1.4.1-alpha.0/cloudbase.auth.js +1 -0
  157. package/cdnjs/1.4.1-alpha.0/cloudbase.database.js +10 -0
  158. package/cdnjs/1.4.1-alpha.0/cloudbase.full.js +10 -0
  159. package/cdnjs/1.4.1-alpha.0/cloudbase.functions.js +1 -0
  160. package/cdnjs/1.4.1-alpha.0/cloudbase.js +1 -0
  161. package/cdnjs/1.4.1-alpha.0/cloudbase.realtime.js +1 -0
  162. package/cdnjs/1.4.1-alpha.0/cloudbase.storage.js +1 -0
  163. package/cdnjs/1.4.2-alpha.0/cloudbase.analytics.js +1 -0
  164. package/cdnjs/1.4.2-alpha.0/cloudbase.auth.js +1 -0
  165. package/cdnjs/1.4.2-alpha.0/cloudbase.database.js +10 -0
  166. package/cdnjs/1.4.2-alpha.0/cloudbase.full.js +10 -0
  167. package/cdnjs/1.4.2-alpha.0/cloudbase.functions.js +1 -0
  168. package/cdnjs/1.4.2-alpha.0/cloudbase.js +1 -0
  169. package/cdnjs/1.4.2-alpha.0/cloudbase.realtime.js +1 -0
  170. package/cdnjs/1.4.2-alpha.0/cloudbase.storage.js +1 -0
  171. package/cdnjs/1.5.0/cloudbase.analytics.js +1 -0
  172. package/cdnjs/1.5.0/cloudbase.auth.js +1 -0
  173. package/cdnjs/1.5.0/cloudbase.database.js +10 -0
  174. package/cdnjs/1.5.0/cloudbase.full.js +10 -0
  175. package/cdnjs/1.5.0/cloudbase.functions.js +1 -0
  176. package/cdnjs/1.5.0/cloudbase.js +1 -0
  177. package/cdnjs/1.5.0/cloudbase.realtime.js +1 -0
  178. package/cdnjs/1.5.0/cloudbase.storage.js +1 -0
  179. package/cdnjs/1.5.1/cloudbase.analytics.js +1 -0
  180. package/cdnjs/1.5.1/cloudbase.auth.js +1 -0
  181. package/cdnjs/1.5.1/cloudbase.database.js +26 -0
  182. package/cdnjs/1.5.1/cloudbase.full.js +26 -0
  183. package/cdnjs/1.5.1/cloudbase.functions.js +1 -0
  184. package/cdnjs/1.5.1/cloudbase.js +1 -0
  185. package/cdnjs/1.5.1/cloudbase.realtime.js +1 -0
  186. package/cdnjs/1.5.1/cloudbase.storage.js +1 -0
  187. package/cdnjs/1.5.1-alpha.0/cloudbase.analytics.js +1 -0
  188. package/cdnjs/1.5.1-alpha.0/cloudbase.auth.js +1 -0
  189. package/cdnjs/1.5.1-alpha.0/cloudbase.database.js +10 -0
  190. package/cdnjs/1.5.1-alpha.0/cloudbase.full.js +10 -0
  191. package/cdnjs/1.5.1-alpha.0/cloudbase.functions.js +1 -0
  192. package/cdnjs/1.5.1-alpha.0/cloudbase.js +1 -0
  193. package/cdnjs/1.5.1-alpha.0/cloudbase.realtime.js +1 -0
  194. package/cdnjs/1.5.1-alpha.0/cloudbase.storage.js +1 -0
  195. package/cdnjs/1.5.3-alpha.0/cloudbase.analytics.js +1 -0
  196. package/cdnjs/1.5.3-alpha.0/cloudbase.auth.js +1 -0
  197. package/cdnjs/1.5.3-alpha.0/cloudbase.database.js +26 -0
  198. package/cdnjs/1.5.3-alpha.0/cloudbase.full.js +26 -0
  199. package/cdnjs/1.5.3-alpha.0/cloudbase.functions.js +1 -0
  200. package/cdnjs/1.5.3-alpha.0/cloudbase.js +1 -0
  201. package/cdnjs/1.5.3-alpha.0/cloudbase.realtime.js +1 -0
  202. package/cdnjs/1.5.3-alpha.0/cloudbase.storage.js +1 -0
  203. package/cdnjs/1.6.0/cloudbase.analytics.js +1 -0
  204. package/cdnjs/1.6.0/cloudbase.auth.js +1 -0
  205. package/cdnjs/1.6.0/cloudbase.database.js +26 -0
  206. package/cdnjs/1.6.0/cloudbase.full.js +26 -0
  207. package/cdnjs/1.6.0/cloudbase.functions.js +1 -0
  208. package/cdnjs/1.6.0/cloudbase.js +1 -0
  209. package/cdnjs/1.6.0/cloudbase.realtime.js +1 -0
  210. package/cdnjs/1.6.0/cloudbase.storage.js +1 -0
  211. package/{CHANGELOG.md → changelog.md} +0 -0
  212. package/dist/README.md +153 -0
  213. package/{app → dist/app}/index.d.ts +1 -0
  214. package/{app → dist/app}/index.js +0 -0
  215. package/dist/app/index.js.map +1 -0
  216. package/{app → dist/app}/internal.d.ts +0 -0
  217. package/{app → dist/app}/internal.js +0 -0
  218. package/{app → dist/app}/internal.js.map +0 -0
  219. package/{app → dist/app}/openuri.d.ts +0 -0
  220. package/{app → dist/app}/openuri.js +2 -1
  221. package/{app → dist/app}/openuri.js.map +1 -1
  222. package/{app → dist/app}/request.d.ts +4 -3
  223. package/{app → dist/app}/request.js +20 -12
  224. package/dist/app/request.js.map +1 -0
  225. package/{app → dist/app}/storage.d.ts +0 -0
  226. package/{app → dist/app}/storage.js +0 -0
  227. package/{app → dist/app}/storage.js.map +0 -0
  228. package/{auth → dist/auth}/consts.d.ts +21 -4
  229. package/{auth → dist/auth}/consts.js +27 -5
  230. package/dist/auth/consts.js.map +1 -0
  231. package/{auth → dist/auth}/index.d.ts +83 -34
  232. package/{auth → dist/auth}/index.js +239 -92
  233. package/dist/auth/index.js.map +1 -0
  234. package/dist/auth/models.d.ts +284 -0
  235. package/{oauthclient → dist/auth}/models.js +1 -0
  236. package/dist/auth/models.js.map +1 -0
  237. package/{captcha → dist/captcha}/index.d.ts +0 -0
  238. package/{captcha → dist/captcha}/index.js +4 -2
  239. package/dist/captcha/index.js.map +1 -0
  240. package/dist/changelog.md +30 -0
  241. package/dist/function/index.d.ts +38 -0
  242. package/dist/function/index.js +80 -0
  243. package/dist/function/index.js.map +1 -0
  244. package/dist/index.d.ts +14 -0
  245. package/dist/index.js +24 -0
  246. package/dist/index.js.map +1 -0
  247. package/{oauthclient → dist/oauthclient}/consts.d.ts +0 -0
  248. package/{oauthclient → dist/oauthclient}/consts.js +0 -0
  249. package/{oauthclient → dist/oauthclient}/consts.js.map +0 -0
  250. package/{oauthclient → dist/oauthclient}/index.d.ts +0 -0
  251. package/{oauthclient → dist/oauthclient}/index.js +2 -2
  252. package/dist/oauthclient/index.js.map +1 -0
  253. package/{oauthclient → dist/oauthclient}/interface.d.ts +4 -0
  254. package/{oauthclient → dist/oauthclient}/interface.js +0 -0
  255. package/{oauthclient → dist/oauthclient}/interface.js.map +1 -1
  256. package/{oauthclient → dist/oauthclient}/models.d.ts +12 -11
  257. package/{auth → dist/oauthclient}/models.js +0 -0
  258. package/{oauthclient → dist/oauthclient}/models.js.map +0 -0
  259. package/{oauthclient → dist/oauthclient}/oauthclient.d.ts +11 -7
  260. package/{oauthclient → dist/oauthclient}/oauthclient.js +27 -12
  261. package/dist/oauthclient/oauthclient.js.map +1 -0
  262. package/dist/package.json +32 -0
  263. package/{utils/single-promise.d.ts → dist/utils/promise.d.ts} +3 -3
  264. package/{utils/single-promise.js → dist/utils/promise.js} +6 -6
  265. package/dist/utils/promise.js.map +1 -0
  266. package/{utils → dist/utils}/uuid.d.ts +0 -0
  267. package/{utils → dist/utils}/uuid.js +0 -0
  268. package/{utils → dist/utils}/uuid.js.map +0 -0
  269. package/docs/dev.md +71 -0
  270. package/docs/errlog.md +79 -0
  271. package/package.json +3 -2
  272. package/publish.sh +2 -0
  273. package/src/app/index.ts +83 -0
  274. package/src/app/internal.ts +26 -0
  275. package/src/app/openuri.ts +111 -0
  276. package/src/app/request.ts +66 -0
  277. package/src/app/storage.ts +58 -0
  278. package/src/auth/consts.ts +74 -0
  279. package/src/auth/index.ts +718 -0
  280. package/src/auth/models.ts +352 -0
  281. package/src/captcha/index.ts +170 -0
  282. package/src/function/index.ts +103 -0
  283. package/src/index.ts +32 -0
  284. package/src/oauthclient/consts.ts +48 -0
  285. package/src/oauthclient/index.ts +33 -0
  286. package/src/oauthclient/interface.ts +34 -0
  287. package/src/oauthclient/models.ts +50 -0
  288. package/src/oauthclient/oauthclient.ts +487 -0
  289. package/src/utils/promise.ts +41 -0
  290. package/src/utils/uuid.ts +11 -0
  291. package/test/e2e/cases/custom-login.test.js +122 -0
  292. package/test/e2e/cases/index.test.js +61 -0
  293. package/test/e2e/cases/login-state.test.js +89 -0
  294. package/test/e2e/environment.js +39 -0
  295. package/test/e2e/global_setup.js +33 -0
  296. package/test/e2e/global_teardown.js +15 -0
  297. package/test/e2e/setup.js +37 -0
  298. package/test/unit/index.test.js +89 -0
  299. package/test/web/cases/auth/index.js +256 -0
  300. package/test/web/cases/database/collection.js +173 -0
  301. package/test/web/cases/database/command.js +754 -0
  302. package/test/web/cases/database/date.js +122 -0
  303. package/test/web/cases/database/db.js +20 -0
  304. package/test/web/cases/database/document.js +160 -0
  305. package/test/web/cases/database/geo-advanced.js +327 -0
  306. package/test/web/cases/database/geo.js +105 -0
  307. package/test/web/cases/database/index.js +315 -0
  308. package/test/web/cases/database/order.js +83 -0
  309. package/test/web/cases/database/realtime.js +102 -0
  310. package/test/web/cases/database/regex.js +140 -0
  311. package/test/web/cases/ext/index.js +88 -0
  312. package/test/web/cases/function/index.js +77 -0
  313. package/test/web/cases/storage/cos.jpeg +0 -0
  314. package/test/web/cases/storage/index.js +207 -0
  315. package/test/web/index.html +63 -0
  316. package/test/web/index.js +109 -0
  317. package/test/web/util.js +80 -0
  318. package/tsconfig.json +35 -0
  319. package/wiki/README.md +75 -0
  320. package/app/index.js.map +0 -1
  321. package/app/request.js.map +0 -1
  322. package/auth/consts.js.map +0 -1
  323. package/auth/index.js.map +0 -1
  324. package/auth/models.d.ts +0 -158
  325. package/auth/models.js.map +0 -1
  326. package/captcha/index.js.map +0 -1
  327. package/index.d.ts +0 -8
  328. package/index.js +0 -17
  329. package/index.js.map +0 -1
  330. package/oauthclient/index.js.map +0 -1
  331. package/oauthclient/oauthclient.js.map +0 -1
  332. package/utils/single-promise.js.map +0 -1
@@ -0,0 +1,718 @@
1
+ "use strict";
2
+ import { ApiUrls } from "./consts";
3
+ import {
4
+ UserProfile,
5
+ SignInRequest,
6
+ SignUpRequest,
7
+ VerifyRequest,
8
+ VerifyResponse,
9
+ GenProviderRedirectUriRequest,
10
+ GenProviderRedirectUriResponse,
11
+ GrantProviderTokenRequest,
12
+ GrantProviderTokenResponse,
13
+ PatchProviderTokenRequest,
14
+ PatchProviderTokenResponse,
15
+ SignInWithProviderRequest,
16
+ BindWithProviderRequest,
17
+ TransByProviderRequest,
18
+ GrantTokenRequest,
19
+ UnbindProviderRequest,
20
+ CheckPasswordRequest,
21
+ SetPasswordRequest,
22
+ ChangeBoundProviderRequest,
23
+ ChangeBoundProviderResponse,
24
+ QueryUserProfileRequest,
25
+ UpdatePasswordRequest,
26
+ SudoRequest,
27
+ SudoResponse,
28
+ QueryUserProfileResponse,
29
+ EditContactRequest,
30
+ CheckIfUserExistResponse,
31
+ CheckIfUserExistRequest,
32
+ SendVerificationCodeRequest,
33
+ SendVerificationCodeResponse,
34
+ ResetPasswordRequest,
35
+ AuthorizeRequest,
36
+ AuthorizeResponse,
37
+ AuthorizeInfoRequest,
38
+ AuthorizeInfoResponse,
39
+ RevokeDeviceRequest,
40
+ WithSudoRequest,
41
+ AuthorizeDeviceRequest,
42
+ DeviceAuthorizeRequest,
43
+ DeviceAuthorizeResponse,
44
+ ProvidersResponse,
45
+ } from "./models";
46
+
47
+ import {
48
+ getOAuthClient,
49
+ Credentials,
50
+ AuthClient,
51
+ ResponseError,
52
+ ErrorType as oauthErrorType,
53
+ } from "../oauthclient";
54
+ import { getCaptcha, Captcha } from "../captcha";
55
+ import { App, RequestFn as appRequestFn } from "../app";
56
+ import { _getComponent } from "../app/internal";
57
+
58
+ export { ErrorType, VerificationUsages, DeviceAuthorizeState } from "./consts";
59
+ export { ResponseError } from "../oauthclient";
60
+
61
+ export interface AuthOptions {
62
+ credentialsClient: AuthClient;
63
+ captcha: Captcha;
64
+ }
65
+
66
+ /**
67
+ * Returns the existing `Auth` instance that is associated with the app
68
+ */
69
+ export function getAuth(app: App, initOptions?: any): Auth {
70
+ return _getComponent<Auth>(
71
+ app,
72
+ "auth",
73
+ (): Auth => {
74
+ const credentialsClient = getOAuthClient(app, initOptions);
75
+ const baseRequest = credentialsClient.request.bind(credentialsClient);
76
+ const captcha = getCaptcha(app, { request: baseRequest });
77
+ return new Auth({
78
+ credentialsClient: credentialsClient,
79
+ captcha: captcha,
80
+ });
81
+ }
82
+ );
83
+ }
84
+
85
+ export type GetCustomSignTicketFn = () => Promise<string>;
86
+
87
+ /**
88
+ * Auth
89
+ */
90
+ export class Auth {
91
+ public readonly request: appRequestFn;
92
+ public readonly credentialsClient: AuthClient;
93
+ private _getCustomSignTicketFn?: GetCustomSignTicketFn;
94
+
95
+ /**
96
+ * constructor
97
+ * @param {AuthOptions} opts
98
+ */
99
+ constructor(opts: AuthOptions) {
100
+ this.request = opts.captcha.request.bind(opts.captcha);
101
+ this.credentialsClient = opts.credentialsClient;
102
+ }
103
+
104
+ /**
105
+ * Sign in.
106
+ * @param {SignInRequest} params A SignInRequest Object.
107
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
108
+ */
109
+ public async signIn(params: SignInRequest): Promise<Credentials> {
110
+ const credentials: Credentials = await this.request<Credentials>(
111
+ ApiUrls.AUTH_SIGN_IN_URL,
112
+ {
113
+ method: "POST",
114
+ withBasicAuth: true,
115
+ body: params,
116
+ }
117
+ );
118
+ await this.credentialsClient.setCredentials(credentials);
119
+ return Promise.resolve(credentials);
120
+ }
121
+
122
+ /**
123
+ * Sign in Anonymously
124
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
125
+ */
126
+ public async signInAnonymously(): Promise<Credentials> {
127
+ const credentials: Credentials = await this.request<Credentials>(
128
+ ApiUrls.AUTH_SIGN_IN_ANONYMOUSLY_URL,
129
+ {
130
+ method: "POST",
131
+ withBasicAuth: true,
132
+ body: {},
133
+ }
134
+ );
135
+ await this.credentialsClient.setCredentials(credentials);
136
+ return Promise.resolve(credentials);
137
+ }
138
+
139
+ /**
140
+ * Sign up.
141
+ * @param {SignUpRequest} params A SignUpRequest Object.
142
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
143
+ */
144
+ public async signUp(params: SignUpRequest): Promise<Credentials> {
145
+ const data: Credentials = await this.request<Credentials>(
146
+ ApiUrls.AUTH_SIGN_UP_URL,
147
+ {
148
+ method: "POST",
149
+ withBasicAuth: true,
150
+ body: params,
151
+ }
152
+ );
153
+ await this.credentialsClient.setCredentials(data);
154
+ return Promise.resolve(data);
155
+ }
156
+
157
+ /**
158
+ * Sign out.
159
+ * @return {Object} A Promise<void> object.
160
+ */
161
+ public async signOut(): Promise<void> {
162
+ try {
163
+ await this.request<void>(ApiUrls.AUTH_REVOKE_URL, {
164
+ method: "POST",
165
+ withCredentials: true,
166
+ });
167
+ } catch (err) {
168
+ if ((err as ResponseError).error !== oauthErrorType.UNAUTHENTICATED) {
169
+ console.log("sign_out_error", err);
170
+ }
171
+ }
172
+ await this.credentialsClient.setCredentials();
173
+ return;
174
+ }
175
+
176
+ /**
177
+ * Revoke All Devices
178
+ * @return {Object} A Promise<void> object.
179
+ */
180
+ public async revokeAllDevices(): Promise<void> {
181
+ await this.request<void>(ApiUrls.AUTH_REVOKE_ALL_URL, {
182
+ method: "DELETE",
183
+ withCredentials: true,
184
+ });
185
+ }
186
+
187
+ /**
188
+ * Revoke Device
189
+ * @return {Object} A Promise<void> object.
190
+ */
191
+ public async revokeDevice(params: RevokeDeviceRequest): Promise<void> {
192
+ await this.request<void>(
193
+ ApiUrls.AUTHORIZED_DEVICES_DELETE_URL + params.device_id,
194
+ {
195
+ method: "DELETE",
196
+ withCredentials: true,
197
+ }
198
+ );
199
+ }
200
+
201
+ /**
202
+ * Send the VerificationCode.
203
+ * @param {SendVerificationCodeRequest} params A GetVerificationRequest Object.
204
+ * @return {Promise<SendVerificationCodeResponse>} A Promise<GetVerificationResponse> object.
205
+ */
206
+ public async sendVerificationCode(
207
+ params: SendVerificationCodeRequest
208
+ ): Promise<SendVerificationCodeResponse> {
209
+ let withBasicAuth = false;
210
+ let withCredentials = false;
211
+ // 发送短信时,如果时给当前用户发,则需要带上鉴权信息
212
+ if (params.target == "CUR_USER") {
213
+ withCredentials = true;
214
+ } else {
215
+ const hasLogin = await this.hasLoginState();
216
+ if (hasLogin) {
217
+ withCredentials = true;
218
+ } else {
219
+ withBasicAuth = true;
220
+ }
221
+ }
222
+ return this.request<SendVerificationCodeResponse>(
223
+ ApiUrls.VERIFICATION_URL,
224
+ {
225
+ method: "POST",
226
+ withBasicAuth: withBasicAuth,
227
+ withCredentials: withCredentials,
228
+ body: params,
229
+ withCaptcha: true,
230
+ }
231
+ );
232
+ }
233
+
234
+ /**
235
+ * Verify the code
236
+ * @param {VerifyRequest} params A VerifyRequest Object.
237
+ * @return {Promise<VerifyResponse>} A Promise<VerifyResponse> object.
238
+ */
239
+ public async verify(params: VerifyRequest): Promise<VerifyResponse> {
240
+ return this.request<VerifyResponse>(ApiUrls.VERIFY_URL, {
241
+ method: "POST",
242
+ withBasicAuth: true,
243
+ body: params,
244
+ });
245
+ }
246
+
247
+ /**
248
+ * Reset Password
249
+ * @param params A ResetPasswordRequest Object
250
+ */
251
+ public async resetPassword(params: ResetPasswordRequest): Promise<void> {
252
+ return this.request<void>(ApiUrls.RESET_PASSWORD_URL, {
253
+ method: "POST",
254
+ withBasicAuth: true,
255
+ body: params,
256
+ });
257
+ }
258
+
259
+ /**
260
+ * Gen provider redirect uri.
261
+ * @param {GenProviderRedirectUriRequest} params A GenProviderRedirectUriRequest object.
262
+ * @return {Promise<GenProviderRedirectUriResponse>} A Promise<GenProviderRedirectUriResponse> object.
263
+ */
264
+ public async genProviderRedirectUri(
265
+ params: GenProviderRedirectUriRequest
266
+ ): Promise<GenProviderRedirectUriResponse> {
267
+ const otherParams = params.other_params;
268
+ delete params.other_params;
269
+ let url = `${ApiUrls.PROVIDER_URI_URL}?${Auth.parseParamsToSearch(params)}`;
270
+ if (otherParams) {
271
+ otherParams.forEach((value, key) => {
272
+ url += `&other_params[${key}]=${encodeURIComponent(value)}`;
273
+ });
274
+ }
275
+ return this.request<GenProviderRedirectUriResponse>(url, {
276
+ method: "GET",
277
+ withBasicAuth: true,
278
+ });
279
+ }
280
+
281
+ /**
282
+ * Grant provider token.
283
+ * @param {GrantProviderTokenRequest} params A GrantProviderTokenRequest object.
284
+ * @return {Promise<GrantProviderTokenResponse>} A Promise<GrantProviderTokenResponse> object.
285
+ */
286
+ public async grantProviderToken(
287
+ params: GrantProviderTokenRequest
288
+ ): Promise<GrantProviderTokenResponse> {
289
+ return this.request<GrantProviderTokenResponse>(
290
+ ApiUrls.PROVIDER_TOKEN_URL,
291
+ {
292
+ method: "POST",
293
+ withBasicAuth: true,
294
+ body: params,
295
+ }
296
+ );
297
+ }
298
+
299
+ /**
300
+ * Grant provider token.
301
+ * @param {PatchProviderTokenRequest} params A PatchProviderTokenRequest object.
302
+ * @return {Promise<PatchProviderTokenResponse>} A Promise<PatchProviderTokenResponse> object.
303
+ */
304
+ public async patchProviderToken(
305
+ params: PatchProviderTokenRequest
306
+ ): Promise<PatchProviderTokenResponse> {
307
+ return this.request<PatchProviderTokenResponse>(
308
+ ApiUrls.PROVIDER_TOKEN_URL,
309
+ {
310
+ method: "PATCH",
311
+ withBasicAuth: true,
312
+ body: params,
313
+ }
314
+ );
315
+ }
316
+
317
+ /**
318
+ * Signin with provider request.
319
+ * @param {SignInWithProviderRequest} params A SignInWithProviderRequest object.
320
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
321
+ */
322
+ public async signInWithProvider(
323
+ params: SignInWithProviderRequest
324
+ ): Promise<Credentials> {
325
+ const credentials: Credentials = await this.request<Credentials>(
326
+ ApiUrls.AUTH_SIGN_IN_WITH_PROVIDER_URL,
327
+ {
328
+ method: "POST",
329
+ withBasicAuth: true,
330
+ body: params,
331
+ }
332
+ );
333
+ await this.credentialsClient.setCredentials(credentials);
334
+ return Promise.resolve(credentials);
335
+ }
336
+
337
+ /**
338
+ * Bind with provider
339
+ * @param {BindWithProviderRequest} params A BindWithProviderRequest object.
340
+ * @return {Promise<void>} A Promise<void> object.
341
+ */
342
+ public async bindWithProvider(
343
+ params: BindWithProviderRequest
344
+ ): Promise<void> {
345
+ return this.request<void>(ApiUrls.PROVIDER_BIND_URL, {
346
+ method: "POST",
347
+ withBasicAuth: true,
348
+ body: params,
349
+ withCredentials: true,
350
+ });
351
+ }
352
+
353
+ /**
354
+ * Get the user profile.
355
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
356
+ */
357
+ public async getUserProfile(): Promise<UserProfile> {
358
+ return this.request<UserProfile>(ApiUrls.USER_ME_URL, {
359
+ method: "GET",
360
+ withCredentials: true,
361
+ });
362
+ }
363
+
364
+ /**
365
+ * Get the user profile.
366
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
367
+ */
368
+ public async updateUserProfile(params: UserProfile): Promise<UserProfile> {
369
+ return this.request<UserProfile>(ApiUrls.USER_ME_URL, {
370
+ method: "PATCH",
371
+ withCredentials: true,
372
+ body: params,
373
+ });
374
+ }
375
+
376
+ /**
377
+ * hasLoginState check if has login state
378
+ * @return {Promise<boolean>} A Promise<boolean> object.
379
+ */
380
+ public async hasLoginState(): Promise<boolean> {
381
+ try {
382
+ await this.credentialsClient.getAccessToken();
383
+ return true;
384
+ } catch (err) {
385
+ if ((err as ResponseError).error === oauthErrorType.UNAUTHENTICATED) {
386
+ return false;
387
+ }
388
+ return Promise.reject(err);
389
+ }
390
+ }
391
+
392
+ /**
393
+ * loginScope return scope of current token
394
+ * @return {Promise<string>} A Promise<string> object.
395
+ */
396
+ public async loginScope(): Promise<string> {
397
+ return this.credentialsClient.getScope();
398
+ }
399
+
400
+ /**
401
+ * Trans by provider.
402
+ * @param {TransByProviderRequest} params A TransByProviderRequest object.
403
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
404
+ */
405
+ public async transByProvider(
406
+ params: TransByProviderRequest
407
+ ): Promise<Credentials> {
408
+ return this.request<Credentials>(ApiUrls.USER_TRANS_BY_PROVIDER_URL, {
409
+ method: "PATCH",
410
+ body: params,
411
+ withCredentials: true,
412
+ });
413
+ }
414
+
415
+ /**
416
+ * Grant token.
417
+ * @param {GrantTokenRequest} params A GrantTokenRequest object.
418
+ * @return {Promise<Credentials>} A Promise<Credentials> object.
419
+ */
420
+ public async grantToken(params: GrantTokenRequest): Promise<Credentials> {
421
+ const credentials: Credentials = await this.request<Credentials>(
422
+ ApiUrls.AUTH_TOKEN_URL,
423
+ {
424
+ method: "POST",
425
+ withBasicAuth: true,
426
+ body: params,
427
+ }
428
+ );
429
+ await this.credentialsClient.setCredentials(credentials);
430
+ return Promise.resolve(credentials);
431
+ }
432
+
433
+ /**
434
+ * Get the provide list.
435
+ * @return {Promise<ProvidersResponse>} A Promise<UserProfileProviderList> object.
436
+ */
437
+ public async getProviders(): Promise<ProvidersResponse> {
438
+ return this.request<ProvidersResponse>(ApiUrls.PROVIDER_LIST_URL, {
439
+ method: "GET",
440
+ withCredentials: true,
441
+ });
442
+ }
443
+
444
+ /**
445
+ * check if username is exist
446
+ * @param params CheckIfUserExistRequest
447
+ */
448
+ public async checkIfUserExist(
449
+ params: CheckIfUserExistRequest
450
+ ): Promise<CheckIfUserExistResponse> {
451
+ const url = `${ApiUrls.USER_ME_URL}?${Auth.parseParamsToSearch(params)}`;
452
+ return this.request<CheckIfUserExistResponse>(url, {
453
+ method: "GET",
454
+ });
455
+ }
456
+
457
+ /**
458
+ * unbind provider.
459
+ * @param {UnbindProviderRequest} params
460
+ * @return {Promise<void>}
461
+ */
462
+ public async unbindProvider(params: UnbindProviderRequest): Promise<void> {
463
+ return this.request<void>(
464
+ `${ApiUrls.PROVIDER_UNBIND_URL}/${params.provider_id}`,
465
+ {
466
+ method: "DELETE",
467
+ withCredentials: true,
468
+ }
469
+ );
470
+ }
471
+
472
+ /**
473
+ * check Password.
474
+ * @param {CheckPasswordRequest} params
475
+ * @return {Promise<void>}
476
+ */
477
+ public async checkPassword(params: CheckPasswordRequest): Promise<void> {
478
+ return this.request<void>(`${ApiUrls.SUDO_URL}`, {
479
+ method: "POST",
480
+ withCredentials: true,
481
+ body: params,
482
+ });
483
+ }
484
+
485
+ /**
486
+ * Edit Contact 修改 手机号 或 邮箱
487
+ * @param {EditContactRequest} params
488
+ * @return {Promise<void>}
489
+ */
490
+ public async editContact(params: EditContactRequest): Promise<void> {
491
+ return this.request<void>(`${ApiUrls.EDIT_CONTACT_URL}`, {
492
+ method: "PATCH",
493
+ withCredentials: true,
494
+ body: params,
495
+ });
496
+ }
497
+
498
+ /**
499
+ * Set Password.
500
+ * @param {SetPasswordRequest} params
501
+ * @return {Promise<void>}
502
+ */
503
+ public async setPassword(params: SetPasswordRequest): Promise<void> {
504
+ return this.request<void>(`${ApiUrls.AUTH_SET_PASSWORD_URL}`, {
505
+ method: "PATCH",
506
+ withCredentials: true,
507
+ body: params,
508
+ });
509
+ }
510
+
511
+ /**
512
+ * updatePasswordByOld 使用旧密码修改密码,如果已经绑定手机号,请先:sudo,再修改密码
513
+ * @param {UpdatePasswordRequest} params
514
+ * @return {Promise<void>}
515
+ */
516
+ public async updatePasswordByOld(
517
+ params: UpdatePasswordRequest
518
+ ): Promise<void> {
519
+ const sudoToken = await this.sudo({ password: params.old_password });
520
+ return this.setPassword({
521
+ sudo_token: sudoToken.sudo_token,
522
+ new_password: params.new_password,
523
+ });
524
+ }
525
+
526
+ /**
527
+ * sudo
528
+ * @param {sudo} params
529
+ * @return {Promise<SudoResponse>}
530
+ */
531
+ public async sudo(params: SudoRequest): Promise<SudoResponse> {
532
+ return this.request<SudoResponse>(`${ApiUrls.SUDO_URL}`, {
533
+ method: "POST",
534
+ withCredentials: true,
535
+ body: params,
536
+ });
537
+ }
538
+
539
+ /**
540
+ * Get the current user verification.
541
+ * @param {SendVerificationCodeRequest} params A SendVerificationCodeToCurrentUser Object.
542
+ * @return {Promise<SendVerificationCodeResponse>} A Promise<SendVerificationCodeResponse> object.
543
+ */
544
+ public async SendVerificationCodeToCurrentUser(
545
+ params: SendVerificationCodeRequest
546
+ ): Promise<SendVerificationCodeResponse> {
547
+ params.target = "CUR_USER";
548
+ return this.request<SendVerificationCodeResponse>(
549
+ ApiUrls.VERIFICATION_URL,
550
+ {
551
+ method: "POST",
552
+ body: params,
553
+ withCredentials: true,
554
+ withCaptcha: true,
555
+ }
556
+ );
557
+ }
558
+
559
+ /**
560
+ * change Bound provider.
561
+ * @param {ChangeBoundProviderRequest} params A GetVerificationRequest Object.
562
+ * @return {Promise<ChangeBoundProviderResponse>} A Promise<GetVerificationResponse> object.
563
+ */
564
+ public async changeBoundProvider(
565
+ params: ChangeBoundProviderRequest
566
+ ): Promise<ChangeBoundProviderResponse> {
567
+ return this.request<ChangeBoundProviderResponse>(
568
+ `${ApiUrls.PROVIDER_LIST_URL}/${params.provider_id}/trans`,
569
+ {
570
+ method: "POST",
571
+ body: {
572
+ provider_trans_token: params.trans_token,
573
+ },
574
+ withCredentials: true,
575
+ }
576
+ );
577
+ }
578
+
579
+ /**
580
+ * set the user profile.
581
+ * @param {UserProfile} params A UserProfile Object.
582
+ * @return {Promise<UserProfile>} A Promise<UserProfile> object.
583
+ */
584
+ public async setUserProfile(params: UserProfile): Promise<UserProfile> {
585
+ return this.request<UserProfile>(ApiUrls.USER_PROFILE_URL, {
586
+ method: "PATCH",
587
+ body: params,
588
+ withCredentials: true,
589
+ });
590
+ }
591
+
592
+ /**
593
+ * Delete me
594
+ * @param params
595
+ */
596
+ public async deleteMe(params: WithSudoRequest): Promise<UserProfile> {
597
+ const url = `${ApiUrls.USER_ME_URL}?${Auth.parseParamsToSearch(params)}`;
598
+ return this.request<UserProfile>(url, {
599
+ method: "DELETE",
600
+ withCredentials: true,
601
+ });
602
+ }
603
+
604
+ /**
605
+ * setCustomSignFunc set the get ticket function
606
+ * @param getTickFn
607
+ */
608
+ public setCustomSignFunc(getTickFn: GetCustomSignTicketFn) {
609
+ this._getCustomSignTicketFn = getTickFn;
610
+ }
611
+
612
+ /**
613
+ * SignInWithCustomTicket custom signIn
614
+ * @constructor
615
+ */
616
+ public async SignInWithCustomTicket(): Promise<Credentials> {
617
+ const customSignTicketFn = this._getCustomSignTicketFn;
618
+ if (!customSignTicketFn) {
619
+ return Promise.reject({
620
+ error: "failed_precondition",
621
+ error_description:
622
+ "please use setCustomSignFunc to set custom sign function",
623
+ });
624
+ }
625
+ const customTicket = await customSignTicketFn();
626
+ return this.signInWithProvider({
627
+ provider_id: "custom",
628
+ provider_token: customTicket,
629
+ });
630
+ }
631
+
632
+ /**
633
+ * queryUserProfile query user profile
634
+ * @param params queryUserProfile query user profile
635
+ */
636
+ public async queryUserProfile(
637
+ params: QueryUserProfileRequest
638
+ ): Promise<QueryUserProfileResponse> {
639
+ const url = `${ApiUrls.USER_QUERY_URL}?${Auth.parseParamsToSearch(params)}`;
640
+ return this.request<QueryUserProfileResponse>(url, {
641
+ method: "GET",
642
+ withCredentials: true,
643
+ });
644
+ }
645
+
646
+ /**
647
+ * Authorize oauth Authorize
648
+ * @param params
649
+ * @constructor
650
+ */
651
+ public async authorize(params: AuthorizeRequest): Promise<AuthorizeResponse> {
652
+ return this.request<AuthorizeResponse>(ApiUrls.AUTHORIZE_URL, {
653
+ method: "POST",
654
+ withCredentials: true,
655
+ body: params,
656
+ });
657
+ }
658
+
659
+ /**
660
+ * authorize device
661
+ * @param params
662
+ */
663
+ public async authorizeDevice(params: AuthorizeDeviceRequest): Promise<void> {
664
+ return this.request<void>(ApiUrls.AUTHORIZE_DEVICE_URL, {
665
+ method: "POST",
666
+ withCredentials: true,
667
+ body: params,
668
+ });
669
+ }
670
+
671
+ public async deviceAuthorize(
672
+ params: DeviceAuthorizeRequest
673
+ ): Promise<DeviceAuthorizeResponse> {
674
+ return this.request<DeviceAuthorizeResponse>(
675
+ ApiUrls.AUTHORIZE_DEVICE_CODE_URL,
676
+ {
677
+ method: "POST",
678
+ withBasicAuth: true,
679
+ body: params,
680
+ }
681
+ );
682
+ }
683
+
684
+ /**
685
+ * OAuth get authorize info
686
+ * @param params
687
+ * @constructor
688
+ */
689
+ public async authorizeInfo(
690
+ params: AuthorizeInfoRequest
691
+ ): Promise<AuthorizeInfoResponse> {
692
+ const url = `${ApiUrls.AUTHORIZE_INFO_URL}?${Auth.parseParamsToSearch(
693
+ params
694
+ )}`;
695
+ let withBasicAuth = true;
696
+ let withCredentials = false;
697
+ const hasLogin = await this.hasLoginState();
698
+ if (hasLogin) {
699
+ withCredentials = true;
700
+ withBasicAuth = false;
701
+ }
702
+ return this.request<AuthorizeInfoResponse>(url, {
703
+ method: "GET",
704
+ withBasicAuth: withBasicAuth,
705
+ withCredentials: withCredentials,
706
+ });
707
+ }
708
+
709
+ private static parseParamsToSearch(params: any): string {
710
+ for (let key in params) {
711
+ if (!params[key]) {
712
+ delete params[key];
713
+ }
714
+ }
715
+ const searchParams = new URLSearchParams(params as any);
716
+ return searchParams.toString();
717
+ }
718
+ }