authing_ruby 1.1.0 → 1.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (473) hide show
  1. checksums.yaml +4 -4
  2. data/authing_ruby.gemspec +4 -2
  3. data/lib/authing_ruby/GraphQLAPI.rb +13 -2
  4. data/lib/authing_ruby/authentication/AuthenticationClient.rb +24 -0
  5. data/lib/authing_ruby/common/PublicKeyManager.rb +12 -1
  6. data/lib/authing_ruby/graphql/mutations/updatePhone.gql +63 -0
  7. data/lib/authing_ruby/management/ManagementClient.rb +1 -1
  8. data/lib/authing_ruby/management/ManagementTokenProvider.rb +2 -5
  9. data/lib/authing_ruby/management/UsersManagementClient.rb +32 -18
  10. data/lib/authing_ruby/test/helper.rb +6 -2
  11. data/lib/authing_ruby/test/mini_test/TestApplicationsManagementClient.rb +2 -2
  12. data/lib/authing_ruby/test/mini_test/TestAuthenticationClient.rb +0 -4
  13. data/lib/authing_ruby/test/mini_test/TestManagementClient.rb +37 -49
  14. data/lib/authing_ruby/test/mini_test/TestSMSandEmail.rb +47 -3
  15. data/lib/authing_ruby/version.rb +1 -1
  16. metadata +14 -470
  17. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/CONTRIBUTION.md +0 -23
  18. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/LICENSE +0 -21
  19. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/README.md +0 -303
  20. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build-doc.js +0 -520
  21. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/browser/index.min.js +0 -2
  22. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/browser/index.min.js.LICENSE.txt +0 -91
  23. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/index.d.ts +0 -7
  24. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/index.js +0 -20
  25. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.d.ts +0 -1118
  26. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationClient.js +0 -2859
  27. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  28. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/AuthenticationTokenProvider.js +0 -56
  29. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  30. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/BaseAuthenticationClient.js +0 -31
  31. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  32. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/EnterpriseAuthenticationClient.js +0 -250
  33. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  34. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/MfaAuthenticationClient.js +0 -665
  35. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  36. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/QrCodeAuthenticationClient.js +0 -622
  37. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  38. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/SocialAuthenticationClient.js +0 -180
  39. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.d.ts +0 -341
  40. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/authentication/types.js +0 -69
  41. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/GraphqlClient.d.ts +0 -14
  42. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/GraphqlClient.js +0 -127
  43. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/HttpClient.d.ts +0 -19
  44. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/HttpClient.js +0 -151
  45. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/PublicKeyManager.d.ts +0 -18
  46. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/common/PublicKeyManager.js +0 -81
  47. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.d.ts +0 -121
  48. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/graphqlapi.js +0 -2002
  49. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AclManagementClient.d.ts +0 -236
  50. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AclManagementClient.js +0 -863
  51. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AgreementManagementClient.d.ts +0 -65
  52. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/AgreementManagementClient.js +0 -195
  53. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ApplicationsManagementClient.d.ts +0 -216
  54. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ApplicationsManagementClient.js +0 -533
  55. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.d.ts +0 -188
  56. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/GroupsManagementClient.js +0 -404
  57. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/MFAManagementClient.d.ts +0 -58
  58. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/MFAManagementClient.js +0 -126
  59. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.d.ts +0 -79
  60. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementClient.js +0 -203
  61. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementTokenProvider.d.ts +0 -39
  62. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/ManagementTokenProvider.js +0 -159
  63. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.d.ts +0 -521
  64. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/OrgManagementClient.js +0 -840
  65. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/PoliciesManagementClient.d.ts +0 -304
  66. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/PoliciesManagementClient.js +0 -512
  67. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.d.ts +0 -296
  68. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/RolesManagementClient.js +0 -711
  69. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/StatisticsManagementClient.d.ts +0 -56
  70. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/StatisticsManagementClient.js +0 -198
  71. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UdfManagementClient.d.ts +0 -146
  72. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UdfManagementClient.js +0 -264
  73. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserActionManagementClient.d.ts +0 -44
  74. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserActionManagementClient.js +0 -106
  75. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserpoolManagementClient.d.ts +0 -142
  76. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UserpoolManagementClient.js +0 -241
  77. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.d.ts +0 -784
  78. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/UsersManagementClient.js +0 -1251
  79. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/WhitelistManagementClient.d.ts +0 -114
  80. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/WhitelistManagementClient.js +0 -259
  81. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.d.ts +0 -992
  82. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/management/types.js +0 -96
  83. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/platform/express/index.d.ts +0 -30
  84. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/platform/express/index.js +0 -126
  85. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/testing-helper.d.ts +0 -31
  86. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/testing-helper.js +0 -67
  87. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.d.ts +0 -53
  88. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/utils.js +0 -343
  89. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.d.ts +0 -1
  90. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/lib/version.js +0 -5
  91. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.d.ts +0 -6241
  92. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/graphql.v2.js +0 -251
  93. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/index.d.ts +0 -7
  94. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/main/types/index.js +0 -3
  95. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/index.d.ts +0 -7
  96. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/index.js +0 -8
  97. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.d.ts +0 -1118
  98. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationClient.js +0 -2853
  99. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  100. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/AuthenticationTokenProvider.js +0 -53
  101. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  102. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/BaseAuthenticationClient.js +0 -28
  103. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  104. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/EnterpriseAuthenticationClient.js +0 -247
  105. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  106. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/MfaAuthenticationClient.js +0 -662
  107. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  108. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/QrCodeAuthenticationClient.js +0 -619
  109. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  110. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/SocialAuthenticationClient.js +0 -177
  111. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.d.ts +0 -341
  112. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/authentication/types.js +0 -66
  113. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/GraphqlClient.d.ts +0 -14
  114. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/GraphqlClient.js +0 -121
  115. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/HttpClient.d.ts +0 -19
  116. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/HttpClient.js +0 -145
  117. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/PublicKeyManager.d.ts +0 -18
  118. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/common/PublicKeyManager.js +0 -78
  119. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.d.ts +0 -121
  120. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/graphqlapi.js +0 -1999
  121. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AclManagementClient.d.ts +0 -236
  122. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AclManagementClient.js +0 -860
  123. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AgreementManagementClient.d.ts +0 -65
  124. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/AgreementManagementClient.js +0 -192
  125. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ApplicationsManagementClient.d.ts +0 -216
  126. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ApplicationsManagementClient.js +0 -530
  127. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.d.ts +0 -188
  128. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/GroupsManagementClient.js +0 -401
  129. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/MFAManagementClient.d.ts +0 -58
  130. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/MFAManagementClient.js +0 -123
  131. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.d.ts +0 -79
  132. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementClient.js +0 -197
  133. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementTokenProvider.d.ts +0 -39
  134. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/ManagementTokenProvider.js +0 -153
  135. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.d.ts +0 -521
  136. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/OrgManagementClient.js +0 -818
  137. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/PoliciesManagementClient.d.ts +0 -304
  138. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/PoliciesManagementClient.js +0 -509
  139. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.d.ts +0 -296
  140. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/RolesManagementClient.js +0 -708
  141. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/StatisticsManagementClient.d.ts +0 -56
  142. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/StatisticsManagementClient.js +0 -195
  143. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UdfManagementClient.d.ts +0 -146
  144. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UdfManagementClient.js +0 -261
  145. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserActionManagementClient.d.ts +0 -44
  146. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserActionManagementClient.js +0 -103
  147. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserpoolManagementClient.d.ts +0 -142
  148. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UserpoolManagementClient.js +0 -238
  149. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.d.ts +0 -784
  150. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/UsersManagementClient.js +0 -1248
  151. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/WhitelistManagementClient.d.ts +0 -114
  152. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/WhitelistManagementClient.js +0 -256
  153. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.d.ts +0 -992
  154. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/management/types.js +0 -93
  155. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/platform/express/index.d.ts +0 -30
  156. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/platform/express/index.js +0 -123
  157. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/testing-helper.d.ts +0 -31
  158. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/testing-helper.js +0 -62
  159. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.d.ts +0 -53
  160. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/utils.js +0 -336
  161. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.d.ts +0 -1
  162. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/lib/version.js +0 -2
  163. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.d.ts +0 -6241
  164. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/graphql.v2.js +0 -248
  165. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/index.d.ts +0 -7
  166. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/module/types/index.js +0 -1
  167. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/index.d.ts +0 -7
  168. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/index.js +0 -30
  169. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.d.ts +0 -1118
  170. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationClient.js +0 -2869
  171. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationTokenProvider.d.ts +0 -13
  172. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/AuthenticationTokenProvider.js +0 -66
  173. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/BaseAuthenticationClient.d.ts +0 -6
  174. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/BaseAuthenticationClient.js +0 -41
  175. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/EnterpriseAuthenticationClient.d.ts +0 -92
  176. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/EnterpriseAuthenticationClient.js +0 -260
  177. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/MfaAuthenticationClient.d.ts +0 -303
  178. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/MfaAuthenticationClient.js +0 -675
  179. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/QrCodeAuthenticationClient.d.ts +0 -232
  180. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/QrCodeAuthenticationClient.js +0 -632
  181. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.d.ts +0 -104
  182. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/SocialAuthenticationClient.js +0 -190
  183. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.d.ts +0 -341
  184. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/authentication/types.js +0 -79
  185. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/GraphqlClient.d.ts +0 -14
  186. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/GraphqlClient.js +0 -137
  187. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/HttpClient.d.ts +0 -19
  188. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/HttpClient.js +0 -161
  189. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/PublicKeyManager.d.ts +0 -18
  190. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/common/PublicKeyManager.js +0 -91
  191. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.d.ts +0 -121
  192. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/graphqlapi.js +0 -2012
  193. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AclManagementClient.d.ts +0 -236
  194. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AclManagementClient.js +0 -873
  195. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AgreementManagementClient.d.ts +0 -65
  196. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/AgreementManagementClient.js +0 -205
  197. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ApplicationsManagementClient.d.ts +0 -216
  198. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ApplicationsManagementClient.js +0 -543
  199. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.d.ts +0 -188
  200. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/GroupsManagementClient.js +0 -414
  201. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/MFAManagementClient.d.ts +0 -58
  202. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/MFAManagementClient.js +0 -136
  203. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.d.ts +0 -79
  204. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementClient.js +0 -213
  205. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementTokenProvider.d.ts +0 -39
  206. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/ManagementTokenProvider.js +0 -169
  207. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.d.ts +0 -521
  208. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/OrgManagementClient.js +0 -850
  209. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/PoliciesManagementClient.d.ts +0 -304
  210. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/PoliciesManagementClient.js +0 -522
  211. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.d.ts +0 -296
  212. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/RolesManagementClient.js +0 -721
  213. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/StatisticsManagementClient.d.ts +0 -56
  214. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/StatisticsManagementClient.js +0 -208
  215. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UdfManagementClient.d.ts +0 -146
  216. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UdfManagementClient.js +0 -274
  217. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserActionManagementClient.d.ts +0 -44
  218. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserActionManagementClient.js +0 -116
  219. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserpoolManagementClient.d.ts +0 -142
  220. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UserpoolManagementClient.js +0 -251
  221. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.d.ts +0 -784
  222. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/UsersManagementClient.js +0 -1261
  223. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/WhitelistManagementClient.d.ts +0 -114
  224. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/WhitelistManagementClient.js +0 -269
  225. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.d.ts +0 -992
  226. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/management/types.js +0 -106
  227. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/platform/express/index.d.ts +0 -30
  228. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/platform/express/index.js +0 -136
  229. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/testing-helper.d.ts +0 -31
  230. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/testing-helper.js +0 -77
  231. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.d.ts +0 -53
  232. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/utils.js +0 -353
  233. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.d.ts +0 -1
  234. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/lib/version.js +0 -15
  235. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.d.ts +0 -6241
  236. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/graphql.v2.js +0 -261
  237. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/index.d.ts +0 -7
  238. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/build/umd/types/index.js +0 -13
  239. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/CHANGELOG.md +0 -413
  240. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/LICENSE +0 -19
  241. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/README.md +0 -709
  242. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/UPGRADE_GUIDE.md +0 -162
  243. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.js +0 -1715
  244. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.map +0 -1
  245. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.min.js +0 -3
  246. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/dist/axios.min.map +0 -1
  247. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/index.d.ts +0 -157
  248. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/index.js +0 -1
  249. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/README.md +0 -37
  250. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/http.js +0 -279
  251. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/adapters/xhr.js +0 -180
  252. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/axios.js +0 -53
  253. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/Cancel.js +0 -19
  254. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/CancelToken.js +0 -57
  255. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/cancel/isCancel.js +0 -5
  256. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/Axios.js +0 -94
  257. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/InterceptorManager.js +0 -52
  258. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/README.md +0 -7
  259. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/buildFullPath.js +0 -20
  260. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/createError.js +0 -18
  261. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/dispatchRequest.js +0 -79
  262. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/enhanceError.js +0 -42
  263. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/mergeConfig.js +0 -73
  264. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/settle.js +0 -25
  265. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/core/transformData.js +0 -20
  266. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/defaults.js +0 -97
  267. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/README.md +0 -7
  268. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/bind.js +0 -11
  269. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/buildURL.js +0 -71
  270. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/combineURLs.js +0 -14
  271. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/cookies.js +0 -53
  272. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -24
  273. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -14
  274. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -68
  275. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/normalizeHeaderName.js +0 -12
  276. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/parseHeaders.js +0 -53
  277. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/helpers/spread.js +0 -27
  278. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/lib/utils.js +0 -344
  279. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/axios/package.json +0 -84
  280. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/LICENSE +0 -18
  281. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/README.md +0 -155
  282. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/http.js +0 -1
  283. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/https.js +0 -1
  284. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/index.js +0 -322
  285. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/node_modules/follow-redirects/package.json +0 -60
  286. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/package.json +0 -129
  287. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tests/index.html +0 -21
  288. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tsconfig.brower.json +0 -45
  289. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/tsconfig.node.json +0 -0
  290. data/lib/authing_ruby/test/js_sdk_test/node_modules/authing-js-sdk/webpack.config.js +0 -41
  291. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/CHANGELOG.md +0 -685
  292. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/LICENSE +0 -19
  293. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/README.md +0 -800
  294. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/UPGRADE_GUIDE.md +0 -162
  295. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.js +0 -1756
  296. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.map +0 -1
  297. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.min.js +0 -3
  298. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/dist/axios.min.map +0 -1
  299. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/index.d.ts +0 -161
  300. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/index.js +0 -1
  301. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/README.md +0 -37
  302. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/http.js +0 -303
  303. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/adapters/xhr.js +0 -179
  304. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/axios.js +0 -56
  305. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/Cancel.js +0 -19
  306. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/CancelToken.js +0 -57
  307. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/cancel/isCancel.js +0 -5
  308. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/Axios.js +0 -95
  309. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/InterceptorManager.js +0 -52
  310. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/README.md +0 -7
  311. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/buildFullPath.js +0 -20
  312. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/createError.js +0 -18
  313. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/dispatchRequest.js +0 -79
  314. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/enhanceError.js +0 -42
  315. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/mergeConfig.js +0 -87
  316. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/settle.js +0 -25
  317. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/core/transformData.js +0 -20
  318. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/defaults.js +0 -98
  319. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/README.md +0 -7
  320. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/bind.js +0 -11
  321. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/buildURL.js +0 -70
  322. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/combineURLs.js +0 -14
  323. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/cookies.js +0 -53
  324. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/deprecatedMethod.js +0 -24
  325. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isAbsoluteURL.js +0 -14
  326. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isAxiosError.js +0 -11
  327. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/isURLSameOrigin.js +0 -68
  328. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/normalizeHeaderName.js +0 -12
  329. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/parseHeaders.js +0 -53
  330. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/helpers/spread.js +0 -27
  331. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/lib/utils.js +0 -351
  332. data/lib/authing_ruby/test/js_sdk_test/node_modules/axios/package.json +0 -86
  333. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/CONTRIBUTING.md +0 -28
  334. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/LICENSE +0 -24
  335. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/README.md +0 -249
  336. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/aes.js +0 -234
  337. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/bower.json +0 -35
  338. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/cipher-core.js +0 -890
  339. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/core.js +0 -797
  340. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/crypto-js.js +0 -6059
  341. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/docs/QuickStartGuide.wiki +0 -470
  342. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-base64.js +0 -136
  343. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-hex.js +0 -18
  344. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-latin1.js +0 -18
  345. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-utf16.js +0 -149
  346. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/enc-utf8.js +0 -18
  347. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/evpkdf.js +0 -134
  348. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/format-hex.js +0 -66
  349. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/format-openssl.js +0 -18
  350. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-md5.js +0 -18
  351. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-ripemd160.js +0 -18
  352. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha1.js +0 -18
  353. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha224.js +0 -18
  354. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha256.js +0 -18
  355. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha3.js +0 -18
  356. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha384.js +0 -18
  357. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac-sha512.js +0 -18
  358. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/hmac.js +0 -143
  359. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/index.js +0 -18
  360. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/lib-typedarrays.js +0 -76
  361. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/md5.js +0 -268
  362. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-cfb.js +0 -80
  363. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ctr-gladman.js +0 -116
  364. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ctr.js +0 -58
  365. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ecb.js +0 -40
  366. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/mode-ofb.js +0 -54
  367. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/package.json +0 -38
  368. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-ansix923.js +0 -49
  369. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-iso10126.js +0 -44
  370. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-iso97971.js +0 -40
  371. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-nopadding.js +0 -30
  372. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-pkcs7.js +0 -18
  373. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pad-zeropadding.js +0 -47
  374. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/pbkdf2.js +0 -145
  375. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rabbit-legacy.js +0 -190
  376. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rabbit.js +0 -192
  377. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/rc4.js +0 -139
  378. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/ripemd160.js +0 -267
  379. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha1.js +0 -150
  380. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha224.js +0 -80
  381. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha256.js +0 -199
  382. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha3.js +0 -326
  383. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha384.js +0 -83
  384. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/sha512.js +0 -326
  385. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/tripledes.js +0 -779
  386. data/lib/authing_ruby/test/js_sdk_test/node_modules/crypto-js/x64-core.js +0 -304
  387. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/CHANGELOG.md +0 -395
  388. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/LICENSE +0 -19
  389. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/Makefile +0 -58
  390. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/README.md +0 -368
  391. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/karma.conf.js +0 -70
  392. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/node.js +0 -1
  393. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/package.json +0 -43
  394. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/browser.js +0 -195
  395. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/debug.js +0 -225
  396. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/index.js +0 -10
  397. data/lib/authing_ruby/test/js_sdk_test/node_modules/debug/src/node.js +0 -186
  398. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/CHANGELOG.md +0 -210
  399. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/LICENSE +0 -23
  400. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/README.md +0 -275
  401. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/config.js +0 -11
  402. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/cli-options.js +0 -13
  403. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/env-options.js +0 -18
  404. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/lib/main.js +0 -118
  405. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/package.json +0 -57
  406. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/index.d.ts +0 -59
  407. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/test.ts +0 -19
  408. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tsconfig.json +0 -15
  409. data/lib/authing_ruby/test/js_sdk_test/node_modules/dotenv/types/tslint.json +0 -6
  410. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/LICENSE +0 -18
  411. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/README.md +0 -148
  412. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/debug.js +0 -14
  413. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/http.js +0 -1
  414. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/https.js +0 -1
  415. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/index.js +0 -531
  416. data/lib/authing_ruby/test/js_sdk_test/node_modules/follow-redirects/package.json +0 -59
  417. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/LICENSE.txt +0 -107
  418. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/README.md +0 -192
  419. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.js +0 -249
  420. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.min.js +0 -2
  421. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/bin/jsencrypt.min.js.LICENSE.txt +0 -8
  422. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncrypt.d.ts +0 -116
  423. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncrypt.js +0 -186
  424. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncryptRSAKey.d.ts +0 -142
  425. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/JSEncryptRSAKey.js +0 -315
  426. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/index.d.ts +0 -3
  427. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/index.js +0 -3
  428. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/asn1.d.ts +0 -51
  429. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/asn1.js +0 -565
  430. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/base64.d.ts +0 -5
  431. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/base64.js +0 -88
  432. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/hex.d.ts +0 -3
  433. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/hex.js +0 -64
  434. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/int10.d.ts +0 -9
  435. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/int10.js +0 -87
  436. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/oids.d.ts +0 -9778
  437. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/asn1js/oids.js +0 -1962
  438. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/base64.d.ts +0 -3
  439. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/base64.js +0 -76
  440. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/jsbn.d.ts +0 -98
  441. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/jsbn.js +0 -1754
  442. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/prng4.d.ts +0 -10
  443. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/prng4.js +0 -46
  444. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rng.d.ts +0 -3
  445. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rng.js +0 -76
  446. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rsa.d.ts +0 -23
  447. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/rsa.js +0 -373
  448. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/util.d.ts +0 -7
  449. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsbn/util.js +0 -58
  450. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsrsasign/asn1-1.0.js +0 -1593
  451. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/lib/jsrsasign/yahoo.js +0 -69
  452. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/lib/version.json +0 -1
  453. data/lib/authing_ruby/test/js_sdk_test/node_modules/jsencrypt/package.json +0 -49
  454. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/Gruntfile.js +0 -78
  455. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/LICENSE +0 -21
  456. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/README.md +0 -55
  457. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/bower.json +0 -20
  458. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/build/jwt-decode.js +0 -125
  459. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/build/jwt-decode.min.js +0 -1
  460. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/jwt-decode.html +0 -2
  461. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/atob.js +0 -38
  462. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/base64_url_decode.js +0 -33
  463. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/lib/index.js +0 -26
  464. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/package.json +0 -37
  465. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/standalone.js +0 -16
  466. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/test/tests.js +0 -53
  467. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/test_harness.html +0 -29
  468. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/testem.yml +0 -46
  469. data/lib/authing_ruby/test/js_sdk_test/node_modules/jwt-decode/testem_dev.yml +0 -1
  470. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/index.js +0 -152
  471. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/license.md +0 -21
  472. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/package.json +0 -37
  473. data/lib/authing_ruby/test/js_sdk_test/node_modules/ms/readme.md +0 -51
@@ -1,232 +0,0 @@
1
- /// <reference types="node" />
2
- import { AuthenticationTokenProvider } from './AuthenticationTokenProvider';
3
- import { AuthenticationClientOptions, QRCodeGenarateResult, QRCodeStatus, QRCodeUserInfo } from './types';
4
- import { User } from '../../types/graphql.v2';
5
- import { HttpClient } from '../common/HttpClient';
6
- import { BaseAuthenticationClient } from './BaseAuthenticationClient';
7
- /**
8
- * @class QrCodeAuthenticationClient 扫码登录模块
9
- * @description 此模块用于进行扫码登录,扫码登录分为两种小程序扫码登录(wxqrcode)和 APP 扫码登录(qrcode)。两种扫码登录方式 API 完全一致。
10
- *
11
- * 使用小程序扫码登录:
12
- *
13
- * \`\`\`javascript
14
- * import { AuthenticationClient } from "authing-js-sdk"
15
- * const authenticationClient = new AuthenticationClient({
16
- * appId: "YOUR_APP_ID",
17
- * })
18
- * authenticationClient.wxqrcode.startScanning() # 开始扫码登录
19
- * \`\`\`
20
- *
21
- * 使用 APP 扫码登录
22
- *
23
- * \`\`\`javascript
24
- * import { AuthenticationClient } from "authing-js-sdk"
25
- * const authenticationClient = new AuthenticationClient({
26
- * appId: "YOUR_APP_ID",
27
- * })
28
- * authenticationClient.qrcode.startScanning() # 开始扫码登录
29
- * \`\`\`
30
- *
31
- * @name QrCodeAuthenticationClient
32
- */
33
- export declare class QrCodeAuthenticationClient {
34
- options: AuthenticationClientOptions;
35
- tokenProvider: AuthenticationTokenProvider;
36
- scene: string;
37
- httpClient: HttpClient;
38
- baseClient: BaseAuthenticationClient;
39
- constructor(options: AuthenticationClientOptions, tokenProvider: AuthenticationTokenProvider, httpClient: HttpClient, scene: 'WXAPP_AUTH' | 'APP_AUTH');
40
- /**
41
- * @name startScanning
42
- * @name_zh 一键开始扫码
43
- * @description 一键开始扫码
44
- *
45
- * @param {string} domId DOM 元素的 ID。
46
- * @param {Object} options
47
- * @param {boolean} options.autoExchangeUserInfo 是否自定义使用 ticket 换取用户信息
48
- * @param {number} options.interval 间隔时间,单位为毫秒,默认为 800 毫秒
49
- * @param {Function} options.onStart 开始轮询的事件回调函数, 第一个参数为 setInterval 返回的计时器,可以用 clearInterval 取消此计时器
50
- * @param {Function} options.onResult 获取到二维码最新状态事件回调函数,第一个参数为的类型为 QRCodeStatus。
51
- * @param {Function} options.onScanned 用户首次扫码事件回调函数。此时用户还没有授权,回调的用户信息中通仅包含昵称和头像,用作展示目的。
52
- * 出于安全性考虑,默认情况下,userInfo 只会包含昵称(nickname)和头像(photo)两个字段,开发者也可以在后台配置使其返回完整用户信息,
53
- * @param {Function} options.onSuccess 用户同意授权事件回调函数。该函数只会回调一次,之后轮询结束。第一个参数为 userInfo 用户信息,第二个参数为 ticket,用于换取用户的详情。
54
- * 详情见 https://docs.authing.co/scan-qrcode/app-qrcode/customize.html。
55
- * ticket 可以用来换取完整的用户信息,相关接口见 https://docs.authing.co/scan-qrcode/app-qrcode/full-api-list.html。
56
- * @param {Function} options.onCancel 用户取消授权事件回调函数。该事件只会回调一次,之后轮询结束。
57
- * @param {Function} options.onError 获取二维码状态失败事件回调函数。常见原因为网络失败等,每次查询失败时都会回调。回调参数 data 示例如 {"code": 2241,"message": "二维码不存在" }
58
- * @param {Function} options.onExpired 二维码失效时被回调,只回调一次,之后轮询结束。
59
- * @param {Function} options.onCodeShow 二维码首次成功显示的事件。
60
- * @param {Function} options.onCodeLoaded 二维码首次成功 Load 的事件。
61
- * @param {Function} options.onCodeLoadFailed 二维码加载失败的事件。
62
- * @param {Function} options.onCodeDestroyed 二维码被销毁的事件。
63
- * @param {Object} options.size 二维码图片大小,默认为 240 * 240,单位为 px 。
64
- * @param {number} options.size.height 高度
65
- * @param {number} options.size.width 宽度
66
- * @param {Object} options.containerSize DOM 容器大小,默认为 300 * 300,单位为 px 。
67
- * @param {number} options.containerSize.height 高度
68
- * @param {number} options.containerSize.width 宽度
69
- * @param {Object} options.tips 自定义提示信息
70
- * @param {number} options.tips.title
71
- * @param {number} options.tips.scanned
72
- * @param {Object} options.tips.succeed
73
- * @param {number} options.tips.canceled
74
- * @param {number} options.tips.expired
75
- * @param {number} options.tips.retry
76
- * @param {number} options.tips.failed
77
- *
78
- * @example
79
- *
80
- * authenticationClient.wxqrcode.startScanning("qrcode", {
81
- * onSuccess: (userInfo, ticket) => {
82
- * console.log(userInfo, ticket)
83
- * },
84
- * onError: (message) => onFail && onFail(`${message}`),
85
- * });
86
- *
87
- * @returns {null}
88
- * @memberof QrCodeAuthenticationClient
89
- *
90
- */
91
- startScanning(domId: string, options?: {
92
- autoExchangeUserInfo?: boolean;
93
- size?: {
94
- height: number;
95
- width: number;
96
- };
97
- containerSize?: {
98
- height: number;
99
- width: number;
100
- };
101
- interval?: number;
102
- onStart?: (timer: any) => any;
103
- onResult?: (data: QRCodeStatus) => any;
104
- onScanned?: (userInfo: QRCodeUserInfo) => any;
105
- onSuccess?: (userInfo: QRCodeUserInfo, ticket: string) => any;
106
- onCancel?: () => any;
107
- onError?: (message: string) => any;
108
- onExpired?: () => any;
109
- onCodeShow?: (random: string, url: string) => any;
110
- onCodeLoaded?: (random: string, url: string) => any;
111
- onCodeLoadFailed?: (message: string) => any;
112
- onCodeDestroyed?: (random: string) => any;
113
- tips?: {
114
- title?: string;
115
- scanned?: string;
116
- succeed?: string;
117
- canceled?: string;
118
- expired?: string;
119
- retry?: string;
120
- failed?: string;
121
- };
122
- /**
123
- * @description 将会写入配置的用户自定义字段
124
- */
125
- customData?: {
126
- [x: string]: any;
127
- };
128
- /**
129
- * @description 请求上下文,将会传递到 Pipeline 中
130
- */
131
- context?: {
132
- [x: string]: any;
133
- };
134
- }): Promise<void>;
135
- /**
136
- * @name geneCode
137
- * @name_zh 生成二维码
138
- * @description 生成二维码
139
- *
140
- * @example
141
- * const authenticationClient = new AuthenticationClient({
142
- * appId: "YOUR_APP_ID",
143
- * })
144
- * const { url, random } = await authenticationClient.wxqrcode.geneCode()
145
- *
146
- * # random 二维码唯一 ID
147
- * # url 二维码链接
148
- *
149
- * @returns {Promise<QRCodeGenarateResult>}
150
- * @memberof QrCodeAuthenticationClient
151
- */
152
- geneCode(options?: {
153
- context?: {
154
- [x: string]: any;
155
- };
156
- customData?: {
157
- [x: string]: any;
158
- };
159
- }): Promise<QRCodeGenarateResult>;
160
- /**
161
- * @name checkStatus
162
- * @name_zh 检测扫码状态
163
- * @description 检测扫码状态
164
- *
165
- * @param {string} random
166
- *
167
- * @example
168
- *
169
- * const authenticationClient = new AuthenticationClient({
170
- * appId: "YOUR_APP_ID",
171
- * })
172
- * const { random, status, ticket, userInfo } = await authenticationClient.wxqrcode.checkStatus('RANDOM')
173
- * # status: 二维码状态: 0 - 未使用, 1 - 已扫码, 2 - 已授权, 3 - 取消授权, -1 - 已过期
174
- * # ticket: 用于换取用户信息的一个随机字符串
175
- * # userInfo: 用户信息
176
- *
177
- * @returns {Promise<QRCodeStatus>}
178
- * @memberof QrCodeAuthenticationClient
179
- */
180
- checkStatus(random: string): Promise<QRCodeStatus>;
181
- /**
182
- * @name exchangeUserInfo
183
- * @name_zh 使用 ticket 交换用户信息
184
- * @description 使用 ticket 交换用户信息
185
- *
186
- * @example
187
- *
188
- * const authenticationClient = new AuthenticationClient({
189
- * appId: "YOUR_APP_ID",
190
- * })
191
- * const user = await authenticationClient.wxqrcode.exchangeUserInfo('TICKET')
192
- * # user: 完整的用户信息,其中 user.token 为用户的登录凭证。
193
- *
194
- * @param {string} ticket ticket
195
- * @returns {Promise<Partial<User>>}
196
- * @memberof QrCodeAuthenticationClient
197
- */
198
- exchangeUserInfo(ticket: string): Promise<Partial<User>>;
199
- /**
200
- * @name startPolling
201
- * @name_zh 开始轮询二维码状态
202
- * @description 开始轮询二维码状态
203
- *
204
- * @param {string} random 二维码唯一 ID
205
- * @param {Object} options
206
- * @param {number} options.interval 间隔时间,单位为毫秒,默认为 800 毫秒
207
- * @param {Function} options.onStart 开始轮询的事件回调函数, 第一个参数为 setInterval 返回的计时器,可以用 clearInterval 取消此计时器
208
- * @param {Function} options.onResult 获取到二维码最新状态事件回调函数,第一个参数为的类型为 QRCodeStatus。
209
- * @param {Function} options.onScanned 用户首次扫码事件回调函数。此时用户还没有授权,回调的用户信息中通仅包含昵称和头像,用作展示目的。
210
- * 出于安全性考虑,默认情况下,userInfo 只会包含昵称(nickname)和头像(photo)两个字段,开发者也可以在后台配置使其返回完整用户信息,
211
- * @param {Function} options.onSuccess 用户同意授权事件回调函数。该函数只会回调一次,之后轮询结束。第一个参数为 userInfo 用户信息,第二个参数为 ticket,用于换取用户的详情。
212
- * 详情见 https://docs.authing.co/scan-qrcode/app-qrcode/customize.html。
213
- * ticket 可以用来换取完整的用户信息,相关接口见 https://docs.authing.co/scan-qrcode/app-qrcode/full-api-list.html。
214
- * @param {Function} options.onCancel 用户取消授权事件回调函数。该事件只会回调一次,之后轮询结束。
215
- * @param {Function} options.onError 获取二维码状态失败事件回调函数。常见原因为网络失败等,每次查询失败时都会回调。回调参数 data 示例如 {"code": 2241,"message": "二维码不存在" }
216
- * @param {Function} options.onExpired 二维码失效时被回调,只回调一次,之后轮询结束。
217
- *
218
- * @returns {null}
219
- * @memberof QrCodeAuthenticationClient
220
- */
221
- startPolling(random: string, options?: {
222
- interval?: number;
223
- onStart?: (timer: any) => any;
224
- onResult?: (data: QRCodeStatus) => any;
225
- onScanned?: (userInfo: QRCodeUserInfo) => any;
226
- onSuccess?: (userInfo: QRCodeUserInfo, ticket: string) => any;
227
- onCancel?: () => any;
228
- onError?: (message: string) => any;
229
- onExpired?: () => any;
230
- }): Promise<NodeJS.Timeout>;
231
- stopPolling(timer: any): Promise<void>;
232
- }
@@ -1,622 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (_) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.QrCodeAuthenticationClient = void 0;
40
- var utils_1 = require("../utils");
41
- var BaseAuthenticationClient_1 = require("./BaseAuthenticationClient");
42
- /**
43
- * @class QrCodeAuthenticationClient 扫码登录模块
44
- * @description 此模块用于进行扫码登录,扫码登录分为两种小程序扫码登录(wxqrcode)和 APP 扫码登录(qrcode)。两种扫码登录方式 API 完全一致。
45
- *
46
- * 使用小程序扫码登录:
47
- *
48
- * \`\`\`javascript
49
- * import { AuthenticationClient } from "authing-js-sdk"
50
- * const authenticationClient = new AuthenticationClient({
51
- * appId: "YOUR_APP_ID",
52
- * })
53
- * authenticationClient.wxqrcode.startScanning() # 开始扫码登录
54
- * \`\`\`
55
- *
56
- * 使用 APP 扫码登录
57
- *
58
- * \`\`\`javascript
59
- * import { AuthenticationClient } from "authing-js-sdk"
60
- * const authenticationClient = new AuthenticationClient({
61
- * appId: "YOUR_APP_ID",
62
- * })
63
- * authenticationClient.qrcode.startScanning() # 开始扫码登录
64
- * \`\`\`
65
- *
66
- * @name QrCodeAuthenticationClient
67
- */
68
- var QrCodeAuthenticationClient = /** @class */ (function () {
69
- function QrCodeAuthenticationClient(options, tokenProvider, httpClient, scene) {
70
- this.options = options;
71
- this.tokenProvider = tokenProvider;
72
- this.httpClient = httpClient;
73
- this.scene = scene;
74
- this.baseClient = new BaseAuthenticationClient_1.BaseAuthenticationClient(options);
75
- }
76
- /**
77
- * @name startScanning
78
- * @name_zh 一键开始扫码
79
- * @description 一键开始扫码
80
- *
81
- * @param {string} domId DOM 元素的 ID。
82
- * @param {Object} options
83
- * @param {boolean} options.autoExchangeUserInfo 是否自定义使用 ticket 换取用户信息
84
- * @param {number} options.interval 间隔时间,单位为毫秒,默认为 800 毫秒
85
- * @param {Function} options.onStart 开始轮询的事件回调函数, 第一个参数为 setInterval 返回的计时器,可以用 clearInterval 取消此计时器
86
- * @param {Function} options.onResult 获取到二维码最新状态事件回调函数,第一个参数为的类型为 QRCodeStatus。
87
- * @param {Function} options.onScanned 用户首次扫码事件回调函数。此时用户还没有授权,回调的用户信息中通仅包含昵称和头像,用作展示目的。
88
- * 出于安全性考虑,默认情况下,userInfo 只会包含昵称(nickname)和头像(photo)两个字段,开发者也可以在后台配置使其返回完整用户信息,
89
- * @param {Function} options.onSuccess 用户同意授权事件回调函数。该函数只会回调一次,之后轮询结束。第一个参数为 userInfo 用户信息,第二个参数为 ticket,用于换取用户的详情。
90
- * 详情见 https://docs.authing.co/scan-qrcode/app-qrcode/customize.html。
91
- * ticket 可以用来换取完整的用户信息,相关接口见 https://docs.authing.co/scan-qrcode/app-qrcode/full-api-list.html。
92
- * @param {Function} options.onCancel 用户取消授权事件回调函数。该事件只会回调一次,之后轮询结束。
93
- * @param {Function} options.onError 获取二维码状态失败事件回调函数。常见原因为网络失败等,每次查询失败时都会回调。回调参数 data 示例如 {"code": 2241,"message": "二维码不存在" }
94
- * @param {Function} options.onExpired 二维码失效时被回调,只回调一次,之后轮询结束。
95
- * @param {Function} options.onCodeShow 二维码首次成功显示的事件。
96
- * @param {Function} options.onCodeLoaded 二维码首次成功 Load 的事件。
97
- * @param {Function} options.onCodeLoadFailed 二维码加载失败的事件。
98
- * @param {Function} options.onCodeDestroyed 二维码被销毁的事件。
99
- * @param {Object} options.size 二维码图片大小,默认为 240 * 240,单位为 px 。
100
- * @param {number} options.size.height 高度
101
- * @param {number} options.size.width 宽度
102
- * @param {Object} options.containerSize DOM 容器大小,默认为 300 * 300,单位为 px 。
103
- * @param {number} options.containerSize.height 高度
104
- * @param {number} options.containerSize.width 宽度
105
- * @param {Object} options.tips 自定义提示信息
106
- * @param {number} options.tips.title
107
- * @param {number} options.tips.scanned
108
- * @param {Object} options.tips.succeed
109
- * @param {number} options.tips.canceled
110
- * @param {number} options.tips.expired
111
- * @param {number} options.tips.retry
112
- * @param {number} options.tips.failed
113
- *
114
- * @example
115
- *
116
- * authenticationClient.wxqrcode.startScanning("qrcode", {
117
- * onSuccess: (userInfo, ticket) => {
118
- * console.log(userInfo, ticket)
119
- * },
120
- * onError: (message) => onFail && onFail(`${message}`),
121
- * });
122
- *
123
- * @returns {null}
124
- * @memberof QrCodeAuthenticationClient
125
- *
126
- */
127
- QrCodeAuthenticationClient.prototype.startScanning = function (domId, options) {
128
- return __awaiter(this, void 0, void 0, function () {
129
- function genRetry(qrcodeElm, tipText, retryId) {
130
- var tip = genTip(tipText);
131
- nodeWrapper = document.createElement('div');
132
- nodeWrapper.id = 'authing__qrcode-wrapper';
133
- nodeWrapper.style.textAlign = 'center';
134
- nodeWrapper.style.position = 'relative';
135
- // TODO: 这里换一个二维码
136
- var qrcodeImage = genImage('https://usercontents.authing.cn/0ab3a1bf19c0d7106673e494d532f91a.png');
137
- if (!needGenerate) {
138
- qrcodeImage.style.marginTop = '12px';
139
- }
140
- else {
141
- qrcodeImage.style.marginTop = '16px';
142
- }
143
- qrcodeImage.onload = function () {
144
- unloading();
145
- };
146
- var shadow = genShadow(retry, function () {
147
- start();
148
- }, retryId || '__authing_retry_btn');
149
- nodeWrapper.appendChild(qrcodeImage);
150
- nodeWrapper.appendChild(shadow);
151
- nodeWrapper.appendChild(tip);
152
- qrcodeElm.appendChild(nodeWrapper);
153
- }
154
- var _a, autoExchangeUserInfo, _b, size, _c, containerSize, _d, interval, onStart, onResult, onScanned, onExpired, onSuccess, onCancel, onError, onCodeShow, onCodeLoaded, onCodeLoadFailed, _e,
155
- // onCodeDestroyed,
156
- tips, context, customData, lang, nowLang, _f, title, _g,
157
- // scanned = '用户已扫码,等待确认',
158
- canceled, _h, expired, _j, succeed, _k, retry, node, nodeWrapper, needGenerate, styleNode, style, loading, unloading, genTip, genImage, genShadow, displayScannedUser, start;
159
- var _this = this;
160
- return __generator(this, function (_l) {
161
- options = options || {};
162
- _a = options.autoExchangeUserInfo, autoExchangeUserInfo = _a === void 0 ? false : _a, _b = options.size, size = _b === void 0 ? {
163
- height: 240,
164
- width: 240
165
- } : _b, _c = options.containerSize, containerSize = _c === void 0 ? {
166
- height: 300,
167
- width: 300
168
- } : _c, _d = options.interval, interval = _d === void 0 ? 800 : _d, onStart = options.onStart, onResult = options.onResult, onScanned = options.onScanned, onExpired = options.onExpired, onSuccess = options.onSuccess, onCancel = options.onCancel, onError = options.onError, onCodeShow = options.onCodeShow, onCodeLoaded = options.onCodeLoaded, onCodeLoadFailed = options.onCodeLoadFailed, _e = options.tips, tips = _e === void 0 ? {} : _e, context = options.context, customData = options.customData;
169
- lang = this.options.lang;
170
- nowLang = lang === 'zh-CN';
171
- _f = tips.title, title = _f === void 0 ? nowLang ? "\u4F7F\u7528 <strong> " + (this.scene === 'WXAPP_AUTH' ? '微信' : 'APP') + " </strong> \u626B\u7801\u767B\u5F55" : "use <strong> " + (this.scene === 'WXAPP_AUTH' ? 'Wechat' : 'APP') + " </strong> scan code login" : _f, _g = tips.canceled, canceled = _g === void 0 ? nowLang ? '用户取消授权' : 'User cancel authorization' : _g, _h = tips.expired, expired = _h === void 0 ? nowLang ? '二维码已过期' : 'QR code has expired' : _h, _j = tips.succeed, succeed = _j === void 0 ? nowLang ? '扫码成功' : 'Scan code successfully' : _j, _k = tips.retry, retry = _k === void 0 ? nowLang ? '重试' : 'Retry' : _k;
172
- node = document.getElementById(domId);
173
- needGenerate = false;
174
- if (!node) {
175
- node = document.createElement('div');
176
- node.id = domId;
177
- utils_1.createCssClassStyleSheet('__authing-qrcode-node-mount', "z-index: 65535;position: fixed;background: #fff;width: " + containerSize.width + "px;height: " + containerSize.height + "px;left: 50%;margin-left: -" + containerSize.width /
178
- 2 + "px;display: flex;justify-content: center;align-items: center;top: 50%;margin-top: -" + containerSize.height /
179
- 2 + "px;border: 1px solid #ccc;");
180
- node.classList.add('__authing-qrcode-node-mount');
181
- document.getElementsByTagName('body')[0].appendChild(node);
182
- needGenerate = true;
183
- }
184
- else {
185
- node.style.position = 'relative';
186
- }
187
- styleNode = document.createElement('style');
188
- style = '#authing__retry a:hover{outline:0px;text-decoration:none;}#authing__spinner{position:absolute;left:50%;margin-left:-6px;}.spinner{margin:100px auto;width:20px;height:20px;position:relative}.container1>div,.container2>div,.container3>div{width:6px;height:6px;background-color:#00a1ea;border-radius:100%;position:absolute;-webkit-animation:bouncedelay 1.2s infinite ease-in-out;animation:bouncedelay 1.2s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.spinner .spinner-container{position:absolute;width:100%;height:100%}.container2{-webkit-transform:rotateZ(45deg);transform:rotateZ(45deg)}.container3{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.circle1{top:0;left:0}.circle2{top:0;right:0}.circle3{right:0;bottom:0}.circle4{left:0;bottom:0}.container2 .circle1{-webkit-animation-delay:-1.1s;animation-delay:-1.1s}.container3 .circle1{-webkit-animation-delay:-1.0s;animation-delay:-1.0s}.container1 .circle2{-webkit-animation-delay:-0.9s;animation-delay:-0.9s}.container2 .circle2{-webkit-animation-delay:-0.8s;animation-delay:-0.8s}.container3 .circle2{-webkit-animation-delay:-0.7s;animation-delay:-0.7s}.container1 .circle3{-webkit-animation-delay:-0.6s;animation-delay:-0.6s}.container2 .circle3{-webkit-animation-delay:-0.5s;animation-delay:-0.5s}.container3 .circle3{-webkit-animation-delay:-0.4s;animation-delay:-0.4s}.container1 .circle4{-webkit-animation-delay:-0.3s;animation-delay:-0.3s}.container2 .circle4{-webkit-animation-delay:-0.2s;animation-delay:-0.2s}.container3 .circle4{-webkit-animation-delay:-0.1s;animation-delay:-0.1s}@-webkit-keyframes bouncedelay{0%,80%,100%{-webkit-transform:scale(0.0)}40%{-webkit-transform:scale(1.0)}}@keyframes bouncedelay{0%,80%,100%{transform:scale(0.0);-webkit-transform:scale(0.0)}40%{transform:scale(1.0);-webkit-transform:scale(1.0)}}';
189
- styleNode.type = 'text/css';
190
- if (styleNode.style) {
191
- styleNode.style.cssText = style;
192
- }
193
- else {
194
- styleNode.innerHTML = style;
195
- }
196
- document.getElementsByTagName('head')[0].appendChild(styleNode);
197
- loading = function () {
198
- node.innerHTML =
199
- '<div id="authing__spinner" class="spinner"><div class="spinner-container container1"><div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div></div><div class="spinner-container container2"><div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div></div><div class="spinner-container container3"><div class="circle1"></div><div class="circle2"></div><div class="circle3"></div><div class="circle4"></div></div></div>';
200
- };
201
- unloading = function () {
202
- var child = document.getElementById('authing__spinner');
203
- if (child)
204
- node.removeChild(child);
205
- };
206
- genTip = function (text) {
207
- var formattedText;
208
- try {
209
- formattedText = JSON.parse(text).message || text;
210
- }
211
- catch (e) {
212
- formattedText = text;
213
- }
214
- var tip = document.createElement('span');
215
- tip.className = 'authing__heading-subtitle';
216
- if (!needGenerate) {
217
- utils_1.createCssClassStyleSheet('__authing__heading-subtitle-style', 'display: block;font-weight: 400;font-size: 15px;color: #888;line-height: 48px;');
218
- tip.classList.add('__authing__heading-subtitle-style');
219
- }
220
- else {
221
- utils_1.createCssClassStyleSheet('__authing__heading-subtitle-style', 'display: block;font-weight: 400;font-size: 12px;color: #888;');
222
- tip.classList.add('__authing__heading-subtitle-style');
223
- }
224
- tip.innerHTML = formattedText;
225
- return tip;
226
- };
227
- genImage = function (src) {
228
- var qrcodeImage = document.createElement('img');
229
- qrcodeImage.className = 'authing__qrcode';
230
- qrcodeImage.src = src;
231
- qrcodeImage.width = size.width;
232
- qrcodeImage.height = size.height;
233
- return qrcodeImage;
234
- };
235
- genShadow = function (text, aOnClick, shadowAId) {
236
- var shadowId = 'authing__retry';
237
- if (document.getElementById(shadowId)) {
238
- document.getElementById(shadowId).remove();
239
- }
240
- var shadow = document.createElement('div');
241
- shadow.id = shadowId;
242
- utils_1.createCssClassStyleSheet('__authing-shadow-style', "text-align:center;width: " + size.width + "px;height: " + size.height + "px;position: absolute;left: 50%;top: 0px;margin-left: -" + size.width /
243
- 2 + "px;background-color: rgba(0,0,0, 0.5);line-height:" + size.height + "px;color:#fff;font-weight:600;");
244
- shadow.classList.add('__authing-shadow-style');
245
- var shadowA = document.createElement('a');
246
- shadowA.innerHTML = text;
247
- shadowA.style.color = '#fff';
248
- shadowA.style.borderBottom = '1px solid #fff';
249
- shadowA.style.cursor = 'pointer';
250
- if (aOnClick) {
251
- shadowA.addEventListener('click', aOnClick);
252
- }
253
- shadowA.id = shadowAId;
254
- shadow.appendChild(shadowA);
255
- return shadow;
256
- };
257
- displayScannedUser = function (_, photo) {
258
- var shadowId = 'authing__retry';
259
- if (document.getElementById(shadowId)) {
260
- document.getElementById(shadowId).remove();
261
- }
262
- var shadow = document.createElement('div');
263
- utils_1.createCssClassStyleSheet('__authing-shadow-style-position', "text-align:center;width: " + size.width + "px;height: " + size.height + "px;position: absolute;left: 50%;top: 0px;margin-left: -" + size.width /
264
- 2 + "px;line-height:" + size.height + "px;color:#fff;font-weight:600;display: flex;\n align-items: center; /*\u5782\u76F4\u5C45\u4E2D*/\n justify-content: center; /*\u6C34\u5E73\u5C45\u4E2D*/");
265
- shadow.classList.add('__authing-shadow-style-position');
266
- shadow.id = shadowId;
267
- var img = document.createElement('img');
268
- img.id = 'authing__scanned-user';
269
- img.src = photo;
270
- img.style.width = '100px';
271
- img.style.height = '100px';
272
- shadow.appendChild(img);
273
- return shadow;
274
- };
275
- start = function () { return __awaiter(_this, void 0, void 0, function () {
276
- var random, url, data, error_1, qrcodeImage;
277
- var _this = this;
278
- return __generator(this, function (_a) {
279
- switch (_a.label) {
280
- case 0:
281
- loading();
282
- random = null;
283
- url = null;
284
- _a.label = 1;
285
- case 1:
286
- _a.trys.push([1, 3, , 4]);
287
- return [4 /*yield*/, this.geneCode({
288
- context: context,
289
- customData: customData
290
- })];
291
- case 2:
292
- data = _a.sent();
293
- random = data.random;
294
- url = data.url;
295
- return [3 /*break*/, 4];
296
- case 3:
297
- error_1 = _a.sent();
298
- error_1 = error_1;
299
- genRetry(node, error_1.message);
300
- if (onCodeLoadFailed) {
301
- onCodeLoadFailed(error_1);
302
- }
303
- return [2 /*return*/];
304
- case 4:
305
- if (onCodeLoaded) {
306
- onCodeLoaded(random, url);
307
- }
308
- nodeWrapper = document.createElement('div');
309
- nodeWrapper.id = 'authing__qrcode-wrapper';
310
- nodeWrapper.style.textAlign = 'center';
311
- nodeWrapper.style.position = 'relative';
312
- qrcodeImage = genImage(url);
313
- qrcodeImage.onload = function () {
314
- unloading();
315
- if (onCodeShow) {
316
- onCodeShow(random, url);
317
- }
318
- // 需要对用户的 onSuccess, onScanned, onExpired, onCancel 进行加工从而在页面上展示相关提示
319
- var decoratedOnSuccess = function (userInfo, ticket) {
320
- var shadow = genShadow(succeed, null, '__authing_success_tip');
321
- nodeWrapper.appendChild(shadow);
322
- if (onSuccess) {
323
- if (autoExchangeUserInfo) {
324
- var token = userInfo.token;
325
- if (!token) {
326
- // 轮询接口不会返回完整用户信息,需要使用 ticket 换取
327
- _this.exchangeUserInfo(ticket).then(function (userInfo) {
328
- // @ts-ignore
329
- _this.tokenProvider.setUser(userInfo);
330
- // @ts-ignore
331
- onSuccess(userInfo, ticket);
332
- });
333
- }
334
- }
335
- else {
336
- onSuccess(userInfo, ticket);
337
- }
338
- }
339
- };
340
- var decoratedOnScanned = function (userInfo) {
341
- var shadow = displayScannedUser(userInfo.nickname, userInfo.photo);
342
- nodeWrapper.appendChild(shadow);
343
- if (onScanned) {
344
- onScanned(userInfo);
345
- }
346
- };
347
- var decoratedOnCancel = function () {
348
- var shadow = genShadow(canceled, null, '__authing_success_tip');
349
- nodeWrapper.appendChild(shadow);
350
- if (onCancel) {
351
- onCancel();
352
- }
353
- };
354
- var decoratedOnExpired = function () {
355
- var shadow = genShadow(expired, function () {
356
- nodeWrapper.innerHTML = '';
357
- start();
358
- }, '__authing_success_tip');
359
- nodeWrapper.appendChild(shadow);
360
- if (onExpired) {
361
- onExpired();
362
- }
363
- };
364
- var decoratedOnError = function (data) {
365
- var message = data.message;
366
- if (onError) {
367
- onError(message);
368
- }
369
- };
370
- // 开始轮询
371
- _this.startPolling(random, {
372
- interval: interval,
373
- onStart: onStart,
374
- onResult: onResult,
375
- onScanned: decoratedOnScanned,
376
- onExpired: decoratedOnExpired,
377
- onSuccess: decoratedOnSuccess,
378
- onCancel: decoratedOnCancel,
379
- onError: decoratedOnError
380
- });
381
- var tip = genTip(title);
382
- nodeWrapper.appendChild(qrcodeImage);
383
- nodeWrapper.appendChild(tip);
384
- node.appendChild(nodeWrapper);
385
- };
386
- return [2 /*return*/];
387
- }
388
- });
389
- }); };
390
- start();
391
- return [2 /*return*/];
392
- });
393
- });
394
- };
395
- /**
396
- * @name geneCode
397
- * @name_zh 生成二维码
398
- * @description 生成二维码
399
- *
400
- * @example
401
- * const authenticationClient = new AuthenticationClient({
402
- * appId: "YOUR_APP_ID",
403
- * })
404
- * const { url, random } = await authenticationClient.wxqrcode.geneCode()
405
- *
406
- * # random 二维码唯一 ID
407
- * # url 二维码链接
408
- *
409
- * @returns {Promise<QRCodeGenarateResult>}
410
- * @memberof QrCodeAuthenticationClient
411
- */
412
- QrCodeAuthenticationClient.prototype.geneCode = function (options) {
413
- return __awaiter(this, void 0, void 0, function () {
414
- var _a, context, customData, api, data;
415
- return __generator(this, function (_b) {
416
- switch (_b.label) {
417
- case 0:
418
- _a = options || {}, context = _a.context, customData = _a.customData;
419
- api = this.baseClient.appHost + "/api/v2/qrcode/gene";
420
- return [4 /*yield*/, this.httpClient.request({
421
- method: 'POST',
422
- url: api,
423
- data: {
424
- scene: this.scene,
425
- context: context,
426
- params: customData
427
- }
428
- })];
429
- case 1:
430
- data = _b.sent();
431
- return [2 /*return*/, data];
432
- }
433
- });
434
- });
435
- };
436
- /**
437
- * @name checkStatus
438
- * @name_zh 检测扫码状态
439
- * @description 检测扫码状态
440
- *
441
- * @param {string} random
442
- *
443
- * @example
444
- *
445
- * const authenticationClient = new AuthenticationClient({
446
- * appId: "YOUR_APP_ID",
447
- * })
448
- * const { random, status, ticket, userInfo } = await authenticationClient.wxqrcode.checkStatus('RANDOM')
449
- * # status: 二维码状态: 0 - 未使用, 1 - 已扫码, 2 - 已授权, 3 - 取消授权, -1 - 已过期
450
- * # ticket: 用于换取用户信息的一个随机字符串
451
- * # userInfo: 用户信息
452
- *
453
- * @returns {Promise<QRCodeStatus>}
454
- * @memberof QrCodeAuthenticationClient
455
- */
456
- QrCodeAuthenticationClient.prototype.checkStatus = function (random) {
457
- return __awaiter(this, void 0, void 0, function () {
458
- var api, data;
459
- return __generator(this, function (_a) {
460
- switch (_a.label) {
461
- case 0:
462
- api = this.baseClient.appHost + "/api/v2/qrcode/check?random=" + random;
463
- return [4 /*yield*/, this.httpClient.request({
464
- method: 'GET',
465
- url: api
466
- })];
467
- case 1:
468
- data = _a.sent();
469
- return [2 /*return*/, data];
470
- }
471
- });
472
- });
473
- };
474
- /**
475
- * @name exchangeUserInfo
476
- * @name_zh 使用 ticket 交换用户信息
477
- * @description 使用 ticket 交换用户信息
478
- *
479
- * @example
480
- *
481
- * const authenticationClient = new AuthenticationClient({
482
- * appId: "YOUR_APP_ID",
483
- * })
484
- * const user = await authenticationClient.wxqrcode.exchangeUserInfo('TICKET')
485
- * # user: 完整的用户信息,其中 user.token 为用户的登录凭证。
486
- *
487
- * @param {string} ticket ticket
488
- * @returns {Promise<Partial<User>>}
489
- * @memberof QrCodeAuthenticationClient
490
- */
491
- QrCodeAuthenticationClient.prototype.exchangeUserInfo = function (ticket) {
492
- return __awaiter(this, void 0, void 0, function () {
493
- var api, userInfo;
494
- return __generator(this, function (_a) {
495
- switch (_a.label) {
496
- case 0:
497
- api = this.baseClient.appHost + "/api/v2/qrcode/userinfo";
498
- return [4 /*yield*/, this.httpClient.request({
499
- method: 'POST',
500
- url: api,
501
- data: {
502
- ticket: ticket
503
- }
504
- })];
505
- case 1:
506
- userInfo = _a.sent();
507
- return [2 /*return*/, userInfo];
508
- }
509
- });
510
- });
511
- };
512
- /**
513
- * @name startPolling
514
- * @name_zh 开始轮询二维码状态
515
- * @description 开始轮询二维码状态
516
- *
517
- * @param {string} random 二维码唯一 ID
518
- * @param {Object} options
519
- * @param {number} options.interval 间隔时间,单位为毫秒,默认为 800 毫秒
520
- * @param {Function} options.onStart 开始轮询的事件回调函数, 第一个参数为 setInterval 返回的计时器,可以用 clearInterval 取消此计时器
521
- * @param {Function} options.onResult 获取到二维码最新状态事件回调函数,第一个参数为的类型为 QRCodeStatus。
522
- * @param {Function} options.onScanned 用户首次扫码事件回调函数。此时用户还没有授权,回调的用户信息中通仅包含昵称和头像,用作展示目的。
523
- * 出于安全性考虑,默认情况下,userInfo 只会包含昵称(nickname)和头像(photo)两个字段,开发者也可以在后台配置使其返回完整用户信息,
524
- * @param {Function} options.onSuccess 用户同意授权事件回调函数。该函数只会回调一次,之后轮询结束。第一个参数为 userInfo 用户信息,第二个参数为 ticket,用于换取用户的详情。
525
- * 详情见 https://docs.authing.co/scan-qrcode/app-qrcode/customize.html。
526
- * ticket 可以用来换取完整的用户信息,相关接口见 https://docs.authing.co/scan-qrcode/app-qrcode/full-api-list.html。
527
- * @param {Function} options.onCancel 用户取消授权事件回调函数。该事件只会回调一次,之后轮询结束。
528
- * @param {Function} options.onError 获取二维码状态失败事件回调函数。常见原因为网络失败等,每次查询失败时都会回调。回调参数 data 示例如 {"code": 2241,"message": "二维码不存在" }
529
- * @param {Function} options.onExpired 二维码失效时被回调,只回调一次,之后轮询结束。
530
- *
531
- * @returns {null}
532
- * @memberof QrCodeAuthenticationClient
533
- */
534
- QrCodeAuthenticationClient.prototype.startPolling = function (random, options) {
535
- return __awaiter(this, void 0, void 0, function () {
536
- var _a, interval, onStart, onResult, onScanned, onExpired, onSuccess, onCancel, onError, calledOnScanned, callOnPoolingStart, timer;
537
- var _this = this;
538
- return __generator(this, function (_b) {
539
- options = options || {};
540
- _a = options.interval, interval = _a === void 0 ? 800 : _a, onStart = options.onStart, onResult = options.onResult, onScanned = options.onScanned, onExpired = options.onExpired, onSuccess = options.onSuccess, onCancel = options.onCancel, onError = options.onError;
541
- calledOnScanned = false;
542
- callOnPoolingStart = false;
543
- timer = setInterval(function () { return __awaiter(_this, void 0, void 0, function () {
544
- var data, status_1, ticket, userInfo, error_2;
545
- return __generator(this, function (_a) {
546
- switch (_a.label) {
547
- case 0:
548
- // 开始轮询时回调 onPollingStart
549
- if (onStart && !callOnPoolingStart) {
550
- onStart(timer);
551
- callOnPoolingStart = true;
552
- }
553
- _a.label = 1;
554
- case 1:
555
- _a.trys.push([1, 3, , 4]);
556
- return [4 /*yield*/, this.checkStatus(random)];
557
- case 2:
558
- data = _a.sent();
559
- status_1 = data.status, ticket = data.ticket, userInfo = data.userInfo;
560
- // 每次获取到数据都回调 onResult 函数
561
- if (onResult) {
562
- onResult(data);
563
- }
564
- // 过期
565
- if (status_1 === -1) {
566
- clearInterval(timer);
567
- if (onExpired) {
568
- onExpired();
569
- }
570
- }
571
- // 未扫码
572
- if (status_1 === 0) {
573
- }
574
- // 已扫码
575
- if (status_1 === 1) {
576
- if (onScanned && !calledOnScanned) {
577
- onScanned(userInfo);
578
- calledOnScanned = true;
579
- }
580
- }
581
- // 已授权
582
- if (status_1 === 2) {
583
- clearInterval(timer);
584
- if (onSuccess) {
585
- onSuccess(userInfo, ticket);
586
- }
587
- }
588
- // 已取消
589
- if (status_1 === 3) {
590
- clearInterval(timer);
591
- if (onCancel) {
592
- onCancel();
593
- }
594
- }
595
- return [3 /*break*/, 4];
596
- case 3:
597
- error_2 = _a.sent();
598
- if (onError) {
599
- onError(error_2);
600
- }
601
- clearInterval(timer);
602
- return [2 /*return*/];
603
- case 4: return [2 /*return*/];
604
- }
605
- });
606
- }); }, interval);
607
- return [2 /*return*/, timer];
608
- });
609
- });
610
- };
611
- QrCodeAuthenticationClient.prototype.stopPolling = function (timer) {
612
- return __awaiter(this, void 0, void 0, function () {
613
- return __generator(this, function (_a) {
614
- clearInterval(timer);
615
- return [2 /*return*/];
616
- });
617
- });
618
- };
619
- return QrCodeAuthenticationClient;
620
- }());
621
- exports.QrCodeAuthenticationClient = QrCodeAuthenticationClient;
622
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXJDb2RlQXV0aGVudGljYXRpb25DbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2F1dGhlbnRpY2F0aW9uL1FyQ29kZUF1dGhlbnRpY2F0aW9uQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU9BLGtDQUFvRDtBQUdwRCx1RUFBc0U7QUFFdEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0F5Qkc7QUFDSDtJQU9FLG9DQUNFLE9BQW9DLEVBQ3BDLGFBQTBDLEVBQzFDLFVBQXNCLEVBQ3RCLEtBQWdDO1FBRWhDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxtREFBd0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09Ba0RHO0lBQ0csa0RBQWEsR0FBbkIsVUFDRSxLQUFhLEVBQ2IsT0F1Q0M7O1lBb01ELFNBQVMsUUFBUSxDQUFDLFNBQWMsRUFBRSxPQUFlLEVBQUUsT0FBZ0I7Z0JBQ2pFLElBQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFFNUIsV0FBVyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLFdBQVcsQ0FBQyxFQUFFLEdBQUcseUJBQXlCLENBQUM7Z0JBQzNDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQztnQkFDdkMsV0FBVyxDQUFDLEtBQUssQ0FBQyxR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