8

ゴール:

Web アプリで Drupal サイトのユーザーのユーザー名とパスワードを Drupal サイトに送信し、Drupal サイトがユーザー認証情報が正しいかどうかの確認で応答できるようにしたいと考えています。

もう 1 つの必要は、Drupal サーバーが、作成されたセッションのセッション ID と、電子メール、ユーザー ロールなどのユーザーの情報を返すようにすることです。

私がこれまでに持っているもの:

Services Rest Server を有効にし、www.mysite.com/rest/ にエンドポイントを作成しました。応答形式を json のみに設定し、パーサーを application/x-www-form-urlencoded に要求します。セッションによる認証、デバッグ モードをオンにしました。また、このエンドポイントのユーザー リソース全体が有効になっていることも確認しました。www.mysite.com/rest/user に移動すると、すべてのユーザーのリストが表示されます。

認証の試みに関して、リクエストを送信してみました:

POST www.mysite.com/rest/user/login
    Content-Type: application/x-www-form-urlencoded
    POST Body:
        name:admin,
        pass:myadminpassword

しかし、401 Unauthorized 応答を返し続けるだけです。再確認しましたが、認証情報は正しいです。(ユーザー名、パスワード)、(ユーザー、パス)、(名前、パスワード) などのパラメーター名の他のバリエーションを試しました。

ログインが機能していないようで、Stackoverflow で見つけた他の例を調べましたが、機能していません。

4

1 に答える 1

5

drupal.org には、サービス モジュールに関する優れたドキュメントがあります。特に、ここにはサービサーを使用するためのいくつかの例があります: http://drupal.org/node/783722

このページの例では、コマンド ライン ツール curl を使用しています: http://drupal.org/node/1795770

また、ログインの 1 つの例が含まれています。

curl -X POST -i -H "Content-type: application/json" -c cookies.txt -X POST http://localhost:8888/service/user/login -d '
{
    "username":"user",
    "password":"password"
}
'

そう:

  • エンドポイントは問題ありません
  • コンテンツ タイプは application/json にする必要があります
  • 本文は { "username":"admin", "password":"pass" } のようにする必要があります
于 2013-01-25T02:54:04.397 に答える