web-dev-qa-db-fra.com

Comment utiliser le plugin com_api pour REST?

J'ai installé le composant et le plug-in com_api à partir des site officiel pour REST appelle. Je dois authentifier la connexion de l'utilisateur avec un service Web situé dans un autre domaine à l'aide de REST POST. Comment puis-je le faire? J'ai le formulaire de connexion et comment dois-je faire la demande POST après avoir soumis le formulaire. Il n'y a pas de documentation appropriée ni même de tutoriel. S'il vous plaît Aidez-moi.

5
Rex

Dans le contexte d'un REST Api, chaque appel est sans état. Donc, il n'y a pas de "connexion utilisateur".

Sur un site Joomla, lorsqu'un utilisateur est authentifié, le navigateur reçoit un cookie pour autoriser la navigation et l'accès aux zones restreintes.

Ainsi, dans un REST Api, vous devez implémenter un protocole d'autorisation, comme OAuth, pour générer des jetons d'accès.

  • Dans com_api de TechJoomla, vous appelez la demande d'authentification avec l'utilisateur et le mot de passe (il existe également une option pour une clé globale), cochez la case ApiAuthenticationLogin = et ApiAuthentication .

    $app = JFactory::getApplication();
    $key = $app->input->get('key','','STRING');
    
    if(empty($key))
    {
        $key = $app->input->post->get('key','','STRING');
    }
    if(empty($key))
    {
        $this->set('auth_method',$params->get('auth_method','username'));
        $this->set('auth_method',$params->get('auth_method','password'));
        $this->set('auth_method', $params->get('auth_method', 'login'));
    }
    else
    {
        $this->set('auth_method', $params->get('auth_method', 'key'));
    }
    
  • Dans la prochaine version 3.6 de Joomla, une nouvelle API officielle de Joomla REST sera incluse et est en cours de développement, plus d’informations ici Préparation de l’API des services Web dans la version 3.6 .

Repo Github: Joomla Webservices

Dans ce cas, l'authentification est temporairement basée sur Redcore_Oauth2 .

Les services Web dans redCORE fournissent une interface RESTfull (transfert d’état représentatif) pour votre site, utilisant HAL comme moyen facile d’hyperlier entre des ressources. Générer un fichier XML de mappage qui exposera votre service Web est très facile et vous pouvez en apprendre davantage à ce sujet dans les chapitres suivants.

Nous vous recommandons vivement d’utiliser OAuth2 Server avec l’API Webservice, car cela apporte déjà la manipulation de jetons et une facilité d’accès aux données. redCORE fournit déjà les fonctionnalités du serveur OAuth2 et vous pouvez lire plus d'informations ici .

6
Anibal