現在、開発環境用に 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
。アプリケーションからそのヘッダーの下のトークンをキャッチし、必要な処理を実行します。
他にできることは、パラメータを渡してtoken
、POST
サーバー側からパラメータの値を取得することです。たとえば、curl post パラメータでトークンを渡すとします。
-d "auth-token=mytoken123"