web-dev-qa-db-ja.com

RESTにcom_apiプラグインを使用する方法

公式サイト からcom_apiコンポーネントとプラグインをREST呼び出し用にインストールしました。REST POST。どのようにすればよいですか?ログインフォームを持っており、フォームの送信後にPOSTリクエストを行う方法を教えてください。適切なドキュメントもチュートリアルもありません。助けて。

5
Rex

REST APIのコンテキストでは、各呼び出しはステートレスであるため、「ユーザーログイン」はありません。

Joomlaサイトでは、ユーザーが認証されると、ブラウザーは制限された領域へのナビゲーションとアクセスを許可するCookieを受け取ります。

したがって、REST Apiでは、アクセストークンを生成するために、OAuthなどの認証プロトコルを実装する必要があります。

  • TechJoomlaのcom_apiで、ユーザーとパスワードを使用して認証リクエストを呼び出します(グローバルキーのオプションもあります)。チェック ApiAuthenticationLogin =および 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'));
    }
    
  • 今後のJoomla 3.6では、新しいJoomla公式REST APIが含まれ、現在開発中です。詳細はこちら .6でのWebサービスAPIの準備)

Githubリポジトリ: Joomla Webservices

この場合、認証は一時的に Redcore_Oauth2 に基づいています。

RedCOREのWebサービスは、リソース間のハイパーリンクを簡単に作成する方法としてHALを使用して、サイトにRESTfull(Representational State Transfer)インターフェースを提供します。 Webサービスを公開するマッピングXMLファイルの生成は非常に簡単で、次の章でそれらについて読むことができます。

OAuth2サーバーをWebサービスAPIと一緒に使用することを強くお勧めします。これにより、トークンの操作とデータへのアクセスが容易になります。 redCOREはすでにOAuth2サーバー機能を提供しており、詳細については こちら をご覧ください。

6
Anibal