web-dev-qa-db-fra.com

Enregistrez-vous / connecter l'utilisateur avec Wordpress API JSON

Je souhaite créer une application mobile pour un wordpress site web. J'ai intégré le plug-in WordPress JSON . Je ne sais pas où je peux trouver un service pour l'enregistrement et la connexion à l'utilisateur. . S'il vous plaît conseils.

13
narek.gevorgyan

Pour enregistrer un utilisateur this vous montrera exactement comment enregistrer une sur la base de données en appelant simplement une URL et en ajoutant des données à l'aide méthode Obtenir . À partir d'une application mobile, il vous suffit de faire une demande HTTP à une URL contenant toutes les données requises pour l'utilisateur. Ceci vous montrera comment faire une demande d'Android.

Ceci est juste pour l'enregistrement des utilisateurs, il y aura un autre plugin authentification de l'API JSON utilisé afin de vous connecter à un utilisateur.

Ce sont les bases depuis que je n'ai pas beaucoup de temps maintenant, quand je le ferai, je fournirai des détails et des exemples complets. Mais pour l'instant, cela doit le faire

8
Salam El-Banna

1.Pastez le code suivant dans vos thèmes function.php déposer.

2. Assurez-vous que WP-REST-API Le plugin doit être installé sur wordpress site

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' );

Ensuite, votre API sera créée comme

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

Essayez-le avec Postman, vous obtiendrez 200 comme une réponse et user info

21
Ganesh Hargude

J'ai pu comprendre les deux Connexion et inscription en utilisant @ Salam el-bannas ' link, au cas où quelqu'un en a toujours besoin ici, vous allez:

Tout au long de vous avez besoin de deux plugins pour faire le travail:

plug-in WordPress JSON API

et

tilisateur API JSON

  1. Pour l'enregistrement des utilisateurs: Vous avez besoin Nonce ID qui sera une partie des paramètres d'enregistrement dans le processus d'obtention d'URL (ceci est fourni par les plugins). Lire @salam el-Bannas ' link pour plus de compréhension. La méthodologie que j'ai utilisée dans Android était que immédiatement la page chargée de bloquer l'interface utilisateur avec le message "Connexion ..." tandis que dans l'arrière-plan, obtenez l'ID de nonce une fois que c'est fait le blocage de l'interface utilisateur disparaît et que l'ID de nonce est ajouté. Pour un champ spécial non modifiable EditText créé pour l'ID de nonce, l'utilisateur entre ensuite ses informations d'identification requises et je vous authentifie que sa valide avant de se connecter au serveur à l'aide de la nonce ID que j'ai obtenue. Le résultat du serveur est JSON, vous pouvez donc gérer le reste dans le code Android à l'aide de Volley et de Gson.

  2. Pour la connexion des utilisateurs: Vous n'avez besoin que d'identifiant de cookies généré par le plugin, par exemple dans mon cas http://localhost/mylocalhost/my_api_base/user/generate_auth_cookie/?insecure=cool&[email protected]&password=xxxv678

et le résultat était ce 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}}

ensuite, vous devez lire ce joli tutoriel Pour utiliser le JSON résultant dans Android (c'est-à-dire si vous êtes nouveau à Android Login), utilisez simplement votre discrétion.

C'est vraiment vraiment très simple et intéressant une fois que vous suivez mon processus aligné.

9
The Dead Guy