【问题标题】:password reset (Parse-server/Heroku) -> {"error":"unauthorized"}密码重置 (Parse-server/Heroku) -> {"error":"unauthorized"}
【发布时间】:2020-06-06 11:36:25
【问题描述】:

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

{"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
    }
  }
});

【问题讨论】:

  • 您能否分享一下您用来重置密码的代码?
  • 我可以,这是我 iOS 应用程序中的经典 swift 代码。但问题出在其他地方(没有代码那么微妙)。我会发布解决方案。

标签: http heroku parse-server mlab


【解决方案1】:

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

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

一旦我修好了,一切都按预期进行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 2017-04-17
    • 1970-01-01
    • 1970-01-01
    • 2018-11-06
    相关资源
    最近更新 更多