1つのモバイルアプリを作成したいwordpressウェブサイト。 wordpress jsonプラグイン を統合しました。ユーザー登録とログインのためのサービスがどこにあるかわかりません。 アドバイスをお願いします。
ユーザーを登録するには this は、URLを呼び出して GETメソッド を使用してデータを追加するだけで、データベースに登録する方法を正確に示します。モバイルアプリからこれを行うには、ユーザーに必要なすべてのデータを含むURLにhttpリクエストを送信する必要があります。 これ は、Androidからリクエストを行う方法を示します。
これは、ユーザーを登録するためのものです。別のプラグイン JSON APi Auth がユーザーのログインに使用されます。
今は時間があまりないので、これらは基本です。時間があれば、完全な詳細と例を提供します。しかし今のところこれはそれをしなければならない
1.次のコードをテーマに貼り付けますfunction.php
ファイル。
2. WP-REST-API
プラグインwordpressサイトにインストールする必要があります
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
Postmanでお試しください200
応答として、user info
ログインとサインアップ@ Salam El-Bannas ' linkを使用して、どちらかがまだ必要な場合に備えて、両方を理解することができました。これはあなたが行く:
すべての作業を完了するには、2つのプラグインが必要です。
そして
ユーザーの登録の場合:必要ですnonce ID GET urlプロセスの登録パラメーターの一部になります(これはプラグインによって提供されます)。詳細については、@ Salam El-Bannasの link をご覧ください。 Androidで使用した方法は、ページが読み込まれるとすぐに、「接続中...」メッセージでUIをブロックし、バックグラウンドでは、UIブロックが消えてnonce IDが追加されると、nonce IDを取得するというものでした。 nonce ID用に作成された編集不可の特別なEditTextフィールドに、ユーザーは必要な資格情報を入力し、取得したnonce IDを使用してサーバーに接続する前に、その有効性を認証します。サーバーからの結果はJSONなので、ボレーとGSONを使用してAndroidコードで残りを処理できます。
ユーザーのログインの場合:プラグインによって生成されたCookie IDのみが必要です(私の場合はhttp://localhost/mylocalhost/my_api_base/user/generate_auth_cookie/?insecure=cool&[email protected]&password=xxxv678
)
結果はこのjsonでした。
{"status":"ok","cookie":"xxxx|1486130938|Ot6yAX7iU773JnQ2zfE8sdmjt09LhHqDKSYBqtekuha|7fe58a35ab9f260c9bced9148f5cf9ae3ab56c16d7d9ce3b2db7da651d4d937d","cookie_name":"wordpress_logged_in_4132d8131ebbc6760d21627637bd4b20","user":{"id":1,"username":"administrator","nicename":"administrator","email":"[email protected]","url":"","registered":"2016-11-02 17:46:19","displayname":"xxxx","firstname":"","lastname":"","nickname":"xxxxwedds","description":"","capabilities":"","avatar":null}}
次に、 この素敵なチュートリアル を読んで、結果のJSONをAndroidで使用する必要があります(Androidログインが初めての場合)。
あなたが私の整列されたプロセスに従うと、それは本当に本当に本当にシンプルで興味深いです。
クリーンクラスで使用
// 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' ) );