在我使用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: '[email protected]',
domain: 'dmn.net',
apiKey: process.env.EML_ADAPTER_KEY
}
}
});
我想这也可能发生在其他人身上,所以我发布了最终找到的解决方案。希望避免有人像我一样浪费几个小时。这个问题实际上是相当基本的(有点令人失望)。
问题是APP_ID。它用作用户接收的URL的一部分(用于密码重置),因此,如果它包含奇怪的字符,则可能已选择使ID变得复杂。它将破坏URL。我猜,如果选择“ abcd1234”,将完全没有问题。但是由于其他原因,您可能希望拥有一些与众不同的东西。因此,必须谨慎对待APP_ID中使用的字符。
一旦我确定一切都按预期进行。