HTTP 認証ヘッダーにカスタム データを入れることは許容されるのか疑問に思っています。私たちは RESTful API を設計しており、カスタム認証方法を指定する方法が必要になるかもしれません。例として、これをFIRE-TOKEN
認証と呼びます。
仕様によれば、次のようなものは有効であり、許可されるでしょうか:Authorization: FIRE-TOKEN 0PN5J17HBGZHT7JJ3X82:frJIUN8DYpKDtOLCwo//yllqDzg=
2 番目の文字列の最初の部分 (「:」の前) は API キーであり、2 番目の部分はクエリ文字列のハッシュです。
ベストアンサー1
で定義されたフォーマットRFC2617ですcredentials = auth-scheme #auth-param
。fumanchuさんの意見に賛成ですが、修正された認可スキームは次のようになると思います。
Authorization: FIRE-TOKEN apikey="0PN5J17HBGZHT7JJ3X82", hash="frJIUN8DYpKDtOLCwo//yllqDzg="
FIRE-TOKEN
スキームと 2 つのキーと値のペアは認証パラメータです。引用符はオプションだと思いますが (p7-auth-19 の付録 B より) ...
auth-param = token BWS "=" BWS ( token / quoted-string )
これは最新の標準に適合し、すでに使用されており (下記参照)、簡単な拡張のためのキーと値の形式を提供します (追加のパラメータが必要な場合)。
この auth-param 構文のいくつかの例は、ここで見ることができます...
https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p7-auth-19#section-4.4
https://developers.google.com/youtube/2.0/developers_guide_protocol_clientlogin
https://developers.google.com/accounts/docs/AuthSub#WorkingAuthSub