カスタムコーディングやカールを行わずに、Webサービスを介してユーザーを作成しようとしています。
この投稿で75%を得ました: test_endpointの作成方法
ようやく機能しましたが、リクエストごとに資格情報を渡すだけでした。 CSRFトークンヘッダーは無視されます。
サービスとサービスの基本認証モジュールを使用しています。
ユーザー名/パスワードを含む基本認証ヘッダーを使用してservices/session/tokenに最初のGETリクエストを行い、期待どおりにトークンを取得します。次の呼び出しでは、POST to rest/user、CSRFトークン(HTTP_X_CSRF_TOKEN)、Content-type(application/json)、jsonでエンコードされたユーザーデータが本文に含まれています。トークン、ログインポップアップが表示されます。
代わりに、ユーザー名/パスワードとともに基本認証ヘッダーをユーザー作成リクエストとjsonデータと共に送信すると、機能します。 CSRFが無視されている理由がわかりません。
考え?
編集:もう1つのメモ。テストでは、FF RestClientとFF Posterプラグインの両方を使用しました。 Chromeではテストしていません。
将来のユーザーのために、紛らわしい例がたくさんあります。上記のリンクの例に基づいて、これは私の作業設定です:
URL:/rest/user.json
ヘッダー:
"X-CSRF-Token":"fsddfhbusoibdfbdsbfoubewbfw"
"Content-Type":"application/json"
体:
{
"name":"username",
"pass":"password",
"mail":"email",
"field_user_full_name":{"und":[{"value":"CHECK1 n CHECK2"}]},
"roles":[4],
"status":"1",
"language":"und"
}