Wordpress REST API - 发送重置密码链接

Cyu*_*yu. 5 c# xamarin wordpress-rest-api

我想从我的应用程序创建一个请求。(iOS 和 Android - 使用 Xamarin 编码)。

说明:

该请求应触发 WordPress action=lostpassword。- 用户收到一封电子邮件,要求在浏览器中重置密码。

或者

用户将能够设置新密码。WordPress 发送一个电子邮件链接 - 用户必须在其中验证他是否更改了密码。是否有机会通过向 REST API 发出请求来执行此操作。

也许有类似的想法?

我已经尝试过:

  1. 文档中给出了功能但对我不起作用的插件
  2. 手动调用wp-login.php?action=lostpasswordbody

{ "redirect_to": "", "user_login": "name@provider.de", "wp-submit": "Neues+Passwort" }

man*_*tel 6

创建您的自定义 API

网址

https://yourdomain/api/forgot_password.php

范围

登录:manoj.infoways@gmail.com

在根目录中创建文件夹 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;

?>
Run Code Online (Sandbox Code Playgroud)

登录是记住的参数名称。

它对我来说 100% 有效,尝试一下