web-dev-qa-db-ja.com

RESTサービスモジュール-匿名ユーザーのアクセスが拒否されました

私はDrupal 7を使用していますが、この questionvideo に従って、すべての要件を備えたServicesモジュールをインストールしました。
enter image description here

私は自分の資格情報を提供するPostmanですべてのユーザーを取得しようとしていますが、私は匿名ユーザーであることを返しています。

enter image description here

  1. 資格情報を渡すにはどうすればよいですか?
  2. その呼び出しにフィルターを追加する方法、たとえば特定の役割を持つすべてのユーザーを取得するには?
6
NickF

次のService APIを使用してユーザーの詳細のリストを表示する権限を持つユーザーをログインさせる必要があります

http://yourdomain/endpointname/user/login 

次のjsonデータを引数として

{
"username":"username of the user who have the permission to view the users list",
"password":"password which matched with username"
}

ログインに成功したら、すべての認証済みリクエストで重要な役割を果たすCSRFトークンを取得する必要があります。トークンを取得するには、下記のAPIを呼び出します。

http://yourdomain/endpointname/user/token

トークンを受け取り、そのトークンをX_CSRF_TOKENという名前のキーのpostmanヘッダーに追加します。その後、認証されたリクエストを開始できます。

3
sandy

最新の変更に従って... thread に従ってください。

そして最も重要なトークンキーX-CSRF-Tokenでなければなりません。

以下のURLからも実現できます。

http://somehost/services/session/token
1
nitin.k

今度は次のヘッダーも設定する必要があることを言及する価値があります:

Name     Value
Cookie   [session_name]=[sessid]

X-CSRF-Tokenのtoken-valueの直前のログインレスポンスで、session_nameとsessidの値を見つけます。

1
upunkt

ユーザーの一覧を表示する場合は、drupalでビューを作成し、ユーザーとして表示するタイプを選択する必要があります。それ以外の場合、最初にを作成しない限り、残りのAPIからリストを表示することはできません。リストを表示するビュー。その他のポイントでは、それらを作成、編集、または削除することしかできません。

0
lastlink