2016-12-01 6 views
0

Yii2では非常に新しく、Yii2でAPIを構築しようとしています。 私は基本的なAPIコードを使っています。 と私は、ユーザ名・パスワードの検証を行うためにYii2クエリ文字列を使用したApiユーザーの検証

public function behaviors() 
 
    { 
 
    $behaviors = parent::behaviors(); 
 
    $behaviors['authenticator'] = [ 
 
     'class' => CompositeAuth::className(), 
 
     'authMethods' => [ 
 
     [ 
 
      'class' => HttpBasicAuth::className(), \t \t \t \t \t 
 
      'auth' => function($username, $password) 
 
      { 
 
      $out = null; 
 
      $user = \api\modules\v1\models\User::findByUsername($username); \t \t \t 
 
      if($user!=null) 
 
      { 
 
       if($user->validatePassword($password)) $out = $user; 
 
      } 
 
      return $out; 
 
      } 
 
     ],   
 
     ] \t 
 
    ]; 
 
    return $behaviors; 
 
    }

と私のためにその仕事をしようとしていますが、これは、ブラウザのポップアップやBaseauthと郵便配達のあるポストアクションでの作業。

しかし、クエリ文字列 のように、http://localhost/api/userauth?username=xxxx&password=xxxx のようにアクセストークンを返すようにしています。

これについてお手伝いできますか?ありがとうございます...

答えて

1

これは悪い考えです。 GETパラメータはWebサーバーによってログに記録され、ログにアクセスできるすべてのユーザーに資格情報がプレーンテキストで表示されます。代わりにPOSTを使用してください。

+0

返信いただきありがとうございますが、私は第三者にURLを渡す必要がありますので、コードで使用する必要があります。そのようにすることを考えています。 – Kenny

+1

サードパーティは、POSTを使用してパラメータを送信できるはずです。サードパーティを扱う場合でも、標準的な方法です。 – marche

関連する問題