3.2. Credentials
user_keysフィールドには、最大長と予約文字に関するフィールド制限があります。使用できる文字は [A-Z a-z 0-9 - _ .]、またはスラッシュ (/) なし、スペースなし、最大 256 文字の Base64 形式です。
application_idフィールド (app_idまたはclient_idフィールドとも呼ばれる) には、最大長と予約文字に関するフィールド制限があります。使用できる文字: [A-Z a-z 0-9 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~]、スペースなし、5-255 文字。
app_keyおよびclient_secretフィールドには、最大長と予約文字に関するフィールド制限があります。使用できる文字: [A-Z a-z 0-9 ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~]、スペースなし、5-255 文字。
3scale における API クレデンシャルは、user_key または app_id/app_key のどちらかです (使用する認証モードによります)。ステージング環境の API ゲートウェイでは OpenID Connect が有効です。ただし、Integration ページでテストすることはできません。
なお、API で異なるクレデンシャル名を使用することが望ましい場合もあります。この場合、API キーモードを使用していれば user_key にカスタムな名前を設定する必要があります。
あるいは、以下のように app_id および app_key を設定します。
たとえば、app_id を key に変えることが API にとってより適切であれば、名前を変更することができます。ゲートウェイは名前 key を取得し、3scale バックエンドに対して承認呼び出しを行う前に app_id に変換します。新しいクレデンシャル名には、英数字を使用しなければならない点に注意してください。
API が認証情報を HTTP Basic 認証形式で渡すか、クエリーパラメーター (GET) として渡すか、または本文パラメーター (POST/PUT/DELETE) として渡すかを決定できます。
クレデンシャルを抽出する際に、APIcast はヘッダー名を正規化します。つまり、大文字と小文字は区別されず、アンダースコアとハイフンは同じように扱われます。たとえば、アプリケーションキーのパラメーターを App_Key と設定した場合には、app-key 等の他の値も有効なアプリケーションキーヘッダーとして受け入れられます。