密码重置 (Parse-server/Heroku) -> {"error":"unauthorized"}

password reset (Parse-server/Heroku) -> {"error":"unauthorized"}

在我与 HEROKU/mLab 一起使用的应用程序 (ParseServer) 上,为用户提供密码重置。 我点击link重置我的账号密码后,我只能看到这个(在浏览器中):

{"error":"unauthorized"}

我无法重设密码。

有谁知道如何解决这个问题?

这里有一些代码供参考,可能有助于更好地理解问题:

var api = new ParseServer({
  databaseURI: databaseUri,
  cloud: process.env.CLOUD_CODE_MAIN || __dirname + '/cloud/main.js',
  appId: process.env.APP_ID || 'myAppId',
  masterKey: process.env.MASTER_KEY || '',
  serverURL: "https://myapp.herokuapp.com/parse",
  publicServerURL: 'https://myapp.herokuapp.com/parse',
  appName: 'TheApp',
  liveQuery: {
    classNames: ["Stuff_List"]
  },
  verifyUserEmails: true,
  emailAdapter: {
    module: '@parse/simple-mailgun-adapter',
    options: {
      fromAddress: 'sadguy@hmail.cor',
      domain: 'dmn.net',
      apiKey: process.env.EML_ADAPTER_KEY
    }
  }
});

我想这也可能发生在其他人身上,所以我 post 我最终找到了解决方案。希望避免有人像我一样浪费几个小时。这个问题实际上是相当基本的(有点令人失望)。

问题是 APP_ID。它用作用户收到的 URL 的一部分(用于密码重置),因此如果它包含奇怪的字符,则您可能已选择使 ID 复杂化。它会打破 URL。我想,如果选择 "abcd1234" 就完全没有问题。但是您可能出于其他原因想要一些不同的东西。所以必须找到一个很好的平衡点,注意 APP_ID.

中使用的字符

我修复后一切都按预期进行。