我有一个Node / React Native项目。我想重置密码并向用户发送电子邮件。我给我的客户发了一个链接。当用户点击该链接时,他将被引导到屏幕,在那里他可以选择新密码。我确实需要得到一些用户ID或电子邮件或一些标识符,这样我就可以保存新密码。
sendResetPasswordLink: async (email, link) => {
const sgMail = require('@sendgrid/mail');
sgMail.setApiKey(process.env.SENDGRID_API_KEY);
const link = "exp://192.168.2.30:19000/"
const msg = {
to: 'test@example.com',
from: 'test@example.com', // Use the email address or domain you verified above
subject: 'Sending with Twilio SendGrid is Fun',
text: 'and easy to do anywhere, even with Node.js',
html: `<a href=${link}${email}>This is Link<a/>`,
};
}
我的客户:
...
const link = Linking.createURL('/ChangePassword');
axios.post('/send_reset_password_link', {email, link})
...
如果我发送一个链接与路由到我的后端,那么我只能呈现的形式,从我的后端重置密码。有没有什么办法,我可以只是有一个形式对我的客户端,直接用户回到它,一旦他点击链接,但也通过/抓住然后用户(ID或电子邮件)?
1条答案
按热度按时间jm81lzqq1#
你可以做一个OTP系统。然后用户输入他的电子邮件,他被重定向到另一个屏幕,在那里他可以输入一个代码,在此期间,您发送一个OTP到他的电子邮件。验证密码后,您可以进入更改密码屏幕。