基本的なHTTPとベアラートークン認証 質問する

基本的なHTTPとベアラートークン認証 質問する

現在、開発環境用に HTTP-Basic で保護された REST-API を開発しています。実際の認証はトークンを介して行われるため、2 つの認証ヘッダーを送信する方法をまだ検討中です。

私はこれを試しました:

curl -i http://dev.myapp.com/api/users \
  -H "Authorization: Basic Ym9zY236Ym9zY28=" \
  -H "Authorization: Bearer mytoken123"

たとえば、自分の IP の HTTP 認証を無効にすることもできますが、通常は動的 IP を持つさまざまな環境で作業するため、これは適切な解決策ではありません。何か見落としているのでしょうか?

ベストアンサー1

次の URL で基本認証をプッシュするには、これを試してください:

curl -i http://username:[email protected]/api/users -H "Authorization: Bearer mytoken123"
               ^^^^^^^^^^^^^^^^^^

上記の方法が機能しない場合は、何も問題はありません。次の代替方法を試してください。

アプリケーションからの認証を処理しているため、トークンを別の名前で渡すことができます。そのため、この柔軟性をこの特別な目的に簡単に使用できます。

curl -i http://dev.myapp.com/api/users \
  -H "Authorization: Basic Ym9zY236Ym9zY28=" \
  -H "Application-Authorization: mytoken123"

ヘッダーを に変更したことに注意してくださいApplication-Authorization。アプリケーションからそのヘッダーの下のトークンをキャッチし、必要な処理を実行します。

他にできることは、パラメータを渡してtokenPOSTサーバー側からパラメータの値を取得することです。たとえば、curl post パラメータでトークンを渡すとします。

-d "auth-token=mytoken123"

おすすめ記事