公式サイト からcom_apiコンポーネントとプラグインをREST呼び出し用にインストールしました。REST POST。どのようにすればよいですか?ログインフォームを持っており、フォームの送信後にPOSTリクエストを行う方法を教えてください。適切なドキュメントもチュートリアルもありません。助けて。
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サーバー機能を提供しており、詳細については こちら をご覧ください。