web-dev-qa-db-ja.com

サービス基本認証の使用方法

使い方 Services Basic Authentication モジュール?

サービスにhttp基本認証を追加したい。インストールして、エンドポイント構成で有効にしました。エンドポイント構成で、この「HTTP基本認証Services_basic_authには使用可能な設定がありません」が表示されました。設定ページはどこですか?

10
Rijalul fikri

モジュールは、drupalアカウントに対してWebサービス呼び出しを認証します。

  1. モジュールを有効にする
  2. drupalユーザーをセットアップします
  3. ユーザーの資格情報を使用してWebサービスを呼び出します。

基本認証では、SSLが使用されていない場合、資格情報が傍受される可能性があることに注意してください。

モジュールは標準の PHP認証ヘッダー を使用し、特定の役割や権限を確認せずに標準のdrupalログインフォームを送信します。したがって、すべてのdrupalユーザーが機能します。

テスト用のWebサービスを作成 curlで呼び出す またはwgetでテストします。 PHP in call with curl stackoverflow answerで呼び出す方法についての説明もあります。

11
Interlated

上記のモジュールは、 Basic access authentication テクニックを使用してサービスコールを認証するために使用されます。Drupalユーザー名とパスワードを使用して、サービスコールにAuthorizationヘッダーを追加することにより、サービスコールを認証します次のように

ユーザーエージェントがサーバー認証資格情報を送信する場合、Authorizationヘッダーを使用できます。

Authorizationヘッダーは次のように構成されています。

ユーザー名とパスワードは文字列「username:password」に結合されます

結果の文字列リテラルは、Base64のRFC2045-MIMEバリアントを使用してエンコードされますが、76文字/行に限定されません。認証方法とスペース、つまり「Basic」がエンコードされた文字列の前に配置されます。

たとえば、ユーザーエージェントがユーザー名として「アラジン」を使用し、パスワードとして「オープンセサミ」を使用する場合、ヘッダーは次のように形成されます。

承認:基本的なQWxhZGRpbjpvcGVuIHNlc2FtZQ ==

以下の例は、curlを使用した呼び出しです。

curl -H "Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" http://www.example.com/endpoint/yourservice
4
Anil Sagar
  1. モジュールが有効になったら、構造>サービスに移動します
  2. Endpointを選択し、Editenter image description here

  3. https://addons.mozilla.org/fr/firefox/addon/restclient/ などのツールを使用して、クライアントをテストします。

enter image description here

注:オプションHTTP基本認証がこのエンドポイントのリソースを呼び出すとマークされていたとしても、問題が発生しています401の代わりに200を返していました。つまり、モジュールがエンドポイントを保護できませんでした。

問題は次の場所で発生します。

https://www.drupal.org/project/services_basic_auth
version: 7.x-1.4

モジュールのパッチを実行して解決しました:

https://www.drupal.org/node/2734207

2
Artur Kędzior

何が悪いのでしょうか:すべての設定を行った後:

  1. services-basic-authenticationモジュールを有効にする
  2. たとえば、サービスAPIエンドポイントを作成します。
  3. 編集ページの「HTTP基本認証」チェックボックスを設定します
  4. ユーザーを作成する

また、「公開されたコンテンツの表示」権限を無効にしない場合、どのユーザーもサービスAPIエンドポイントにアクセスして結果を返すことができることに注意してください。

1
user57293

Services Basic Authenticationモジュールをインストールしたら、RESTサーバーの設定に移動します。

/admin/structure/services

Editオプションを入力すると、下部にチェックボックスがあります:

HTTP basic authentication

それを有効にして、[保存]ボタンをクリックします。

0