APIキーの発行から検証まで
サーバーは、APIキーを1度だけ発行してクライアントに渡します。クライアントはそれを保存し、以降のすべてのリクエストに添えます。通常はAuthorizationのようなヘッダー、またはカスタムヘッダーに入れます。
サーバーは受け取ったキーを、自分が保存している記録と照合して検証します。デコードして中身を取り出すわけではありません。
クライアントがキーをURLのクエリ文字列に入れると、プロキシやブラウザの履歴、サーバーのアクセスログに平文のまま記録されます。そのため、キーはヘッダーに入れます。
開発者がキーをリポジトリにコミットすると、後のコミットで削除しても、リポジトリの履歴にアクセスできる誰もがそのキーを読めます。そのため、キーが漏洩したときは、削除するだけでは不十分です。ローテーション、つまり新しいキーを発行して古いキーを無効にすることが必要です。
この課の目標
APIキーがどう発行され検証されるかを説明できる。URLやコミットされたコードに含めてはいけない理由を説明できる。
クライアントはAPIキーをリクエストのどこに添えるべき?