クライアントがAPIにリクエストを送信するときに、クライアントを認証する必要があります。クライアントにはAPIトークンがあり、標準のAuthorization
ヘッダーを使用してトークンをサーバーに送信することを考えていました。
通常、このヘッダーはBasic
およびDigest
認証に使用されます。しかし、このヘッダーの値をカスタマイズしてカスタムの認証スキームを使用できるかどうかはわかりません、例えば:
Authorization: Token 1af538baa9045a84c0e889f672baf83ff24
これをお勧めしますか?または、トークンを送信するためのより良いアプローチがありますか?
Authorization:
ヘッダーを使用する独自のカスタム認証スキーマを作成できます。たとえば、これが OAuth の仕組みです。
一般的なルールとして、サーバーまたはプロキシが標準ヘッダーのvaluesを理解しない場合、それらはそのままにして無視されます。独自のヘッダーkeysを作成していますが、多くの場合、予期しない結果が生じる可能性があります。多くのプロキシは、認識できない名前のヘッダーを削除します。
とは言っても、CookieがAuthorization:
ヘッダーではなくCookieを使用してトークンを送信することは、Cookieがカスタム値を運ぶように明示的に設計されているのに対し、HTTPの組み込み認証の仕様メソッドは実際にはどちらの方法でも言いません-あなたがそれが言うことを正確に見たいなら、 ここを見てください 。
これに関する他のポイントは、多くのHTTPクライアントライブラリがダイジェストと基本認証の組み込みサポートを持っているが、ヘッダーフィールドに生の値を設定しようとすると生活が難しくなる可能性があることです多少の値を許可します。
CROSS Originリクエストの場合、これを読んでください:
私はこの状況に直面し、最初にAuthorization
ヘッダーを使用することを選択し、次の問題に直面した後で削除しました。
Authorization
ヘッダーはカスタムヘッダーと見なされます。そのため、Autorization
ヘッダーセットを使用してクロスドメインリクエストが行われた場合、ブラウザは最初にプリフライトリクエストを送信します。プリフライトリクエストは、OPTIONSメソッドによるHTTPリクエストです。このリクエストは、リクエストからすべてのパラメータを取り除きます。サーバーは、カスタムヘッダーの値を持つAccess-Control-Allow-Headers
ヘッダー(Authorization
ヘッダー)で応答する必要があります。
そのため、クライアント(ブラウザ)が送信するリクエストごとに、追加のHTTPリクエスト(OPTIONS)がブラウザから送信されていました。これにより、APIのパフォーマンスが低下しました。これを追加するとパフォーマンスが低下するかどうかを確認する必要があります。回避策として、httpパラメーターでトークンを送信しています。これは最善の方法ではありませんが、パフォーマンスに妥協することはできません。
これは少し古いですが、他の人が同じ質問の答えを探しているかもしれません。 APIにとってどの保護スペースが意味をなすかについて考える必要があります。たとえば、APIへのクライアントアプリケーションアクセスを識別および認証して、既知の登録済みクライアントアプリケーションへの使用を制限することができます。この場合、ユーザーIDとしてクライアント識別子を、パスワードとしてクライアント共有シークレットを使用して、Basic
認証スキームを使用できます。独自の認証スキームは、各保護スペースに対してクライアントが使用するスキームを明確に識別する必要はありません。保護スペースごとに1つだけを好みますが、HTTP標準では、各WWW-Authenticateヘッダー応答での複数の認証スキームと、各応答での複数のWWW-Authenticateヘッダーの両方を許可しています。これは、APIクライアントが使用するオプションを混乱させるでしょう。一貫性と明確性を保つと、APIが使用されます。
カスタムスキーム名でHTTP認証を使用しないことをお勧めします。ただし、一般的な用途があると思う場合は、canで新しいスキームを定義できます。詳細については、 http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p7-auth-latest.html#rfc.section.2. を参照してください。
郵便配達員に以下を試してください:-
ヘッダーセクションの例で私のために働く..
認証:JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyIkX18iOnsic3RyaWN0TW9kZSI6dHJ1ZSwiZ2V0dGVycyI6e30sIndhc1BvcHVsYXRlZCI6ZmFsc2UsImFjdGl2ZVBhdGhzIjp7InBhdGhzIjp7InBhc3N3b3JkIjoiaW5pdCIsImVtYWlsIjoiaW5pdCIsIl9fdiI6ImluaXQiLCJfaWQiOiJpbml0In0sInN0YXRlcyI6eyJpZ25vcmUiOnt9LCJkZWZhdWx0Ijp7fSwiaW5pdCI6eyJfX3YiOnRydWUsInBhc3N3b3JkIjp0cnVlLCJlbWFpbCI6dHJ1ZSwiX2lkIjp0cnVlfSwibW9kaWZ5Ijp7fSwicmVxdWlyZSI6e319LCJzdGF0ZU5hbWVzIjpbInJlcXVpcmUiLCJtb2RpZnkiLCJpbml0IiwiZGVmYXVsdCIsImlnbm9yZSJdfSwiZW1pdHRlciI6eyJkb21haW4iOm51bGwsIl9ldmVudHMiOnt9LCJfZXZlbnRzQ291bnQiOjAsIl9tYXhMaXN0ZW5lcnMiOjB9fSwiaXNOZXciOmZhbHNlLCJfZG9jIjp7Il9fdiI6MCwicGFzc3dvcmQiOiIkMmEkMTAkdTAybWNnWHFjWVQvdE41MlkzZ2l3dVROd3ZMWW9ZTlFXejlUcThyaDIwR09IMlhHY3haZWUiLCJlbWFpbCI6Im1hZGFuLmRhbGUxQGdtYWlsLmNvbSIsIl9pZCI6IjU5MjEzYzYyYWM2ODZlMGMyNzI2MjgzMiJ9LCJfcHJlcyI6eyIkX19vcmlnaW5hbF9zYXZlIjpbbnVsbCxudWxsLG51bGxdLCIkX19vcmlnaW5hbF92YWxpZGF0ZSI6W251bGxdLCIkX19vcmlnaW5hbF9yZW1vdmUiOltudWxsXX0sIl9wb3N0cyI6eyIkX19vcmlnaW5hbF9zYXZlIjpbXSw iJF9fb3JpZ2luYWxfdmFsaWRhdGUiOltdLCIkX19vcmlnaW5hbF9yZW1vdmUiOltdfSwiaWF0IjoxNDk1MzUwNzA5LCJleHAiOjE0OTUzNjA3ODl9.BkyB0LjKB4FIsCtnM5FcpcBLvKed_j7rCCxZddwiYnU