Wordpress - REST API를 사용하여 사용자 비밀번호를 업데이트하는 방법
사용하고 있다wordpress
뿐만 아니라.woocommerce
내 웹 스토어 및 사용 방법woocommerce REST API
위해서Android app
.
사용한 적이 있다WP REST API
그리고.JWT Authentication for WP-API
사용자 인증 및 rest api 로그인을 위한 플러그인입니다.
아래 api를 사용하여 비밀번호를 변경할 때
https://www.my-domain.com/wp-json/wp/v2/users/<id>
에러를 밑돌다
{ "code": "rest_cannot_edit", "message": "죄송합니다. 이 사용자를 편집할 수 없습니다.". "data": { "status": 401 } }
로그인 시 인증이 한 번 이루어지기 때문에 왜 이 오류가 발생하는지 알 수 없습니다.누구 저 좀 도와주세요.
커스텀 API 생성
URL
https://yourdomain/api/change_password.module
파라미터
user_id:10
password:123456 //current password
new_password:123456
root에 폴더 api를 만들고 파일 change_password를 만듭니다.php
change_password 입니다.php
<?php
include '../wp-load.php';
$user_id = $_REQUEST['user_id'];
$user = get_user_by( 'id', $user_id );
$password = $_REQUEST['password'];
$new_password = $_REQUEST['new_password'];
if(empty($user_id)){
$json = array('code'=>'0','msg'=>'Please enter user id');
echo json_encode($json);
exit;
}
if(empty($password)){
$json = array('code'=>'0','msg'=>'Please enter old password');
echo json_encode($json);
exit;
}
if(empty($new_password)){
$json = array('code'=>'0','msg'=>'Please enter new password');
echo json_encode($json);
exit;
}
$hash = $user->data->user_pass;
$code = 500; $status = false;
if (wp_check_password( $password, $hash ) ){
$msg = 'Password updated successfully';
$code = 200; $status = true;
wp_set_password($new_password , $user_id);
}else{
$msg = 'Current password does not match.';
}
$json = array('code'=>$code,'status'=>$status,'msg'=>$msg);
echo json_encode($json);
exit;
?>
나는 100% 작동한다.
저도 비슷한 문제가 있었어요.플러그인의 설명서 페이지에 나와 있는 모든 단계를 수행한 경우 토큰을 가져오는 데 사용하는 계정에 문제가 있을 수 있습니다.
아래는 플러그인의 설치/셋업 프로세스 전체를 상세하게 나타낸 동영상입니다.설명한 절차에 따라 다시 테스트해 보십시오.
다음 행을 추가하여 .htaccess 파일을 편집해 보십시오.
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
및 wp-config.php 추가
define('JWT_AUTH_SECRET_KEY', 'your-top-secret-key');
헤더 API 콜에서 JWT_token을 전달하는 것을 잊지 마십시오.
*Authorization : 'Bearer ' + YOUR_JWT_TOKEN*
ajax 콜에서는 세션토큰/비어/논스를 전달해야 합니다.여기에 특정 관심 문서가 있습니다.
https://developer.wordpress.org/rest-api/using-the-rest-api/authentication/ # 인증
언급URL : https://stackoverflow.com/questions/42994905/wordpress-how-to-update-user-password-using-rest-api
'programing' 카테고리의 다른 글
Wordpress 관리 메뉴 항목을 수동으로 강조 표시합니다. (0) | 2023.04.02 |
---|---|
mongodb 컬렉션에서 최대한의 가치를 얻는 방법 (0) | 2023.04.02 |
Ajax 쿼리 포스트 오류를 포착하려면 어떻게 해야 하나요? (0) | 2023.03.14 |
React가 XSS로 보호되고 있다는 것은 무엇을 의미합니까? (0) | 2023.03.14 |
element.bind와 element.on의 차이점은 무엇입니까? (0) | 2023.03.14 |