source

Wordpress JSON API로 사용자 등록/로그인

factcode 2023. 2. 13. 20:49
반응형

Wordpress JSON API로 사용자 등록/로그인

워드프레스 한 사이트용 모바일 앱을 만들고 싶습니다.워드프레스 json 플러그인을 통합했습니다.사용자 등록 및 로그인을 위한 서비스를 어디서 찾을 수 있는지 잘 모르겠습니다.조언 부탁드립니다.

1. 다음 코드를 테마에 붙여넣기function.php파일.

2. 다음 사항을 확인합니다.WP-REST-API플러그인은 워드프레스 사이트에 설치해야 합니다.

add_action( 'rest_api_init', 'register_api_hooks' );

function register_api_hooks() {
  register_rest_route(
    'custom-plugin', '/login/',
    array(
      'methods'  => 'POST',
      'callback' => 'login',
    )
  );
}

function login($request){
    $creds = array();
    $creds['user_login'] = $request["username"];
    $creds['user_password'] =  $request["password"];
    $creds['remember'] = true;
    $user = wp_signon( $creds, false );

    if ( is_wp_error($user) )
      echo $user->get_error_message();

    return $user;
}

add_action( 'after_setup_theme', 'custom_login' );

그러면 API가 다음과 같이 생성됩니다.

http://www.url.com/wp-json/custom-plugin/login

집배원과 함께 먹어보세요. 당신은 얻을 수 있을 것입니다.200응답으로서user info

@Salam El-Bannas' 링크 사용하여 로그인등록을 모두 확인할 수 있었습니다.여기에 이 정보가 아직 필요한 사용자가 있는지 확인해 주세요.

작업을 완료하려면 다음 두 개의 플러그인이 필요합니다.

WordPress JSON API 플러그인

그리고.

JSON API 사용자

  1. 사용자 등록의 경우:GET URL 프로세스에서 등록 파라미터의 일부가 되는 난스 ID가 필요합니다(이는 플러그인에 의해 제공됩니다).자세한 내용은 @Salam El-Bannas 링크를 참조하십시오.Android에서 사용한 방법론은 페이지가 로드되는 즉시 "연결 중"으로 UI를 차단하는 것이었습니다." " 메시지가 백그라운드에서 난스 ID를 취득하고 있을 때 UI 블로킹이 사라지고 난스 ID가 난스 ID용으로 작성된 특별한 편집 불가 EditText 필드에 추가되면 사용자는 필요한 자격 증명을 입력하고 난스 ID를 사용하여 서버에 연결하기 전에 유효한지 인증합니다.서버의 결과는 JSON이므로 나머지는 발리와 GSON을 사용하여 안드로이드 코드로 처리할 수 있습니다.

  2. 사용자 로그인의 경우:내 경우 플러그인에 의해 생성된 쿠키 ID만 필요합니다.http://localhost/mylocalhost/my_api_base/user/generate_auth_cookie/?insecure=cool&email=xxx@xdfer.org&password=xxxv678

그리고 그 결과는 이 소년이었다.

{"status":"ok","cookie":"xxxx|1486130938|Ot6yAX7iU773JnQ2zfE8sdmjt09LhHqDKSYBqtekuha|7fe58a35ab9f260c9bced9148f5cf9ae3ab56c16d7d9ce3b2db7da651d4d937d","cookie_name":"wordpress_logged_in_4132d8131ebbc6760d21627637bd4b20","user":{"id":1,"username":"administrator","nicename":"administrator","email":"xxx@xdfer.org","url":"","registered":"2016-11-02 17:46:19","displayname":"xxxx","firstname":"","lastname":"","nickname":"xxxxwedds","description":"","capabilities":"","avatar":null}}

Android에서 생성된 JSON을 사용하려면 이 멋진 튜토리얼을 읽어야 합니다(즉, Android 로그인이 처음인 경우). 그렇지 않으면 자신의 판단으로 사용하십시오.

내가 정리한 과정을 따라 하면 정말 정말 간단하고 흥미로워.

사용자를 등록하려면 GET 메서드를 사용하여 URL을 호출하고 데이터를 추가하는 것만으로 데이터베이스에 사용자를 등록하는 방법을 정확하게 보여줍니다.모바일 앱에서 이를 수행하려면 사용자에게 필요한 모든 데이터가 포함된 URL에 http 요청을 해야 합니다.이것은 Android에 요청을 하는 방법을 보여줍니다.

이는 사용자 등록만을 위한 것으로, 사용자 로그인에 사용되는 다른 플러그인 JSON APi Auth가 있습니다.

지금은 시간이 없기 때문에 기본이고, 시간이 나면 자세한 내용과 예를 제시하겠습니다.하지만 지금은 이것으로 끝이다.

클린 클래스와 함께 사용

// Register REST API endpoints
class Login_REST_API_Endpoints {

    /**
     * Register the routes for the objects of the controller.
     */
    public static function register_endpoints() {
        // endpoints will be registered here
        register_rest_route( 'wp', '/login', array(
            'methods' => 'GET',
            'callback' => array( 'Login_REST_API_Endpoints', 'login' ),
        ) );
    }

    /**
     * @param WP_REST_Request $request Full data about the request.
     * @return WP_Error|WP_REST_Request
     */
    public static function login( $request ) {


        $data = array();
        $data['user_login'] = $request["username"];
        $data['user_password'] =  $request["password"];
        $data['remember'] = true;
        $user = wp_signon( $data, false );

        if ( !is_wp_error($user) )
          return $user;
    }

}
add_action( 'rest_api_init', array( 'Login_REST_API_Endpoints', 'register_endpoints' ) );

WP REST 사용자 생성 및 비밀번호 재설정 기능을 사용해 보십시오.

또한 사용자 기능을 고급으로 제어해야 할 경우 AAM을 사용합니다.

언급URL : https://stackoverflow.com/questions/13679001/register-login-user-with-wordpress-json-api

반응형