🗂
Postmanを使って、DrupalのRESTリソースのcookie認証を試す
概要
以下の記事で、JWTモジュールを使ったJWT認証を試しました。
今回は、cookie認証を試します。
インストール
restui
モジュールをインストールしていない場合には、以下のようなコマンドをインストールと有効化を行います。
composer.phar require 'drupal/restui:^1.21'
vendor/bin/drush en restui
設定
今回は、以下のように、cookie認証を使用します。設定方法の詳細については、冒頭の関連記事をご確認ください。
Postman
ログイン
POST
/user/login
Body
> x-www-form-urlencoded
Key | Value |
---|---|
name | {ユーザー名} |
pass | {パスワード} |
form_id | user_login_form |
ログインに成功すると、Cookieが発行されます。
セッショントークンの取得
GET
/session/token
Headers
タブをみると、先に発行したCookieが設定されていることが確認できます。また、結果としてセッショントークンが取得できています。
コンテンツの作成
POST
/node?_format=json
Headers
タブで、上記で取得したセッショントークンをX-CSRF-Token
KeyのValueとして設定します。
Body
の値は、以下を例として使用しました。
{
"type": [
{
"target_id": "article"
}
],
"title": [
{
"value": "新しい記事のタイトル"
}
]
}
なお、誤ったセッショントークンを入力して試してみると、以下が返却されました。
{
"message": "X-CSRF-Token request header is invalid"
}
参考:ログアウト
GET
/user/logout
上記により、発行されたセッションクッキーが削除されました。
まとめ
DrupalのRESTリソースのcookie認証を試しました。誤っている点があるかと思いますが、参考になりましたら幸いです。
Discussion