我想从我的应用程序创建一个请求。 (iOS 和 Android - 使用 Xamarin 编码)。
解释:
该请求应触发 WordPressaction=lostpassword
。 - 用户收到一封电子邮件,要求在浏览器中重置密码。
OR
用户将能够设置新密码。 WordPress 发送一个电子邮件链接 - 用户必须在其中验证他是否更改了密码。
是否有机会通过向 REST API 发出请求来执行此操作。
也许有类似的想法?
我已经尝试过:
- 文档中给出了功能但对我不起作用的插件
- 手动调用
wp-login.php?action=lostpassword
与身体
{
“重定向到”:“”,
“用户登录”:“n[电子邮件受保护]“,
"wp-submit": "新+密码"
}
创建您的自定义 API
URL
https://yourdomain/api/forgot_password.php
范围
login:[电子邮件受保护]
在根目录中创建文件夹 api 并创建文件忘记密码.php
忘记密码.php
<?php include '../wp-load.php';
$login = $_REQUEST['login'];
if ( empty( $login ) ) {
$json = array( 'code' => '0', 'msg' => 'Please enter login user detail' );
echo json_encode( $json );
exit;
}
$userdata = get_user_by( 'email', $login);
if ( empty( $userdata ) ) {
$userdata = get_user_by( 'login', $login );
}
if ( empty( $userdata ) ) {
$json = array( 'code' => '101', 'msg' => 'User not found' );
echo json_encode( $json );
exit;
}
$user = new WP_User( intval( $userdata->ID ) );
$reset_key = get_password_reset_key( $user );
$wc_emails = WC()->mailer()->get_emails();
$wc_emails['WC_Email_Customer_Reset_Password']->trigger( $user->user_login, $reset_key );
$json = array( 'code' => '200', 'msg' => 'Password reset link has been sent to your registered email' );
echo json_encode( $json );
exit;
?>
登录是记住的参数名称。
它对我来说 100% 有效,尝试一下
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)