0

我正在尝试开发一个密码重置网页以用于我的 MongoDB Stitch 的电子邮件/密码身份验证,这是我的代码:

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <!-- Stitch JavaScript SDK -->
    <!-- Base Stitch Browser SDK -->
    <script src="https://s3.amazonaws.com/stitch-sdks/js/bundles/4.0.0/stitch.js"></script>
    <script>// Parse the URL query parameters
      const url = window.location.search;
      const params = new URLSearchParams(url);

      const token = params.get('token');
      const tokenId = params.get('tokenId');
      const newPassword = "test";

      // Confirm the user's email/password account
      const emailPassClient = Stitch.defaultAppClient.auth
        .getProviderClient(UserPasswordAuthProviderClient.factory);

      emailPassClient.resetPassword(token, tokenId, newPassword).then(() => {
        console.log("Successfully reset password!");
      }).catch(err => {
        console.log("Error resetting password:", err);
      });
    </script>
  </body>
</html>

我收到如下错误: Uncaught ReferenceError: Stitch is not defined 也许我错误地导入了针迹包?

4

2 回答 2

1

调用stitch.Stitch.initializeDefaultAppClient(ID)

请注意,您必须初始化默认应用程序客户端,不能只调用stitch.Stitch.defaultappClient

于 2019-03-13T23:04:28.560 回答
0
const client = stitch.Stitch.initializeDefaultAppClient('<<app-id>>');

var emailClient = client.auth.getProviderClient(window.stitch.UserPasswordAuthProviderClient.factory);

emailPassClient.resetPassword(token, tokenId, newPassword).then(() => {
        console.log("Successfully reset password!");
      }).catch(err => {
        console.log("Error resetting password:", err);
      });
于 2020-06-11T14:01:50.130 回答