- まず認証の方式をどうするか
- JWTとAPIキーの2方式を採用する
- JWTが何なのかがよくわかってない
- JSON Web Tokenの略
- Header, Payload, Signatureの3つのパートで成り立っている
- Base64でエンコードされたjsonがxxxxx.yyyyy.zzzzzのような文字列としてリクエストのヘッダーに置かれるらしい
- Headerは署名方式などを記録
- Payloadはユーザー情報や有効期限など
- SignatureはHeaderとPayloadを結合して、秘密鍵で署名したもの
- JWTの流れ
- ユーザーがログイン
- ユーザーがID/PWを入力
- こちらのサーバーが認証
- サーバーがJWTを発行
- クライアントがJWTを保持
- クライアントがAPIリクエスト時にJWTを送信
- APIサーバーがJWTを検証
- レート制限や認可に使う
-
- Googleログインとかは必要になったらつける。最初は自前のログインで良い