get5loader
get5loader copied to clipboard
[API] Support JWT auth for API
Using session is not good way to use api for developers imo, so support API key to use API
JWTでトークンを発行する形式に切り替え、通常のログインもJWTを使用するのが良さげ?
JWTは導入しセッションを廃止した リロードするとログアウトされるので、そこは何か対策が必要...? localStorageに保存しても良いかもしれない 通常のマッチリストロードにもログインが必要なので、tokenなしでロード出来るようにしたいリソースはエンドポイントグループを分ける
トークン不要系はGET, POST系はトークン必要にしたい [GET] /api/v1/GetNNN [GET] /api/v1/matchlist [GET] /api/v1/match/{matchID}/ [GET] /api/v1/team/{matchID}/
https://github.com/FlowingSPDG/get5-web-go/tree/feat/jwt-auth
JWTのキーがAPIキーとしても作動するように
・JWTなしでロードできるようにAPIを分ける ・JWTをフロントエンドで保存できるようにする
変更事項 /api/v1/ はv1 APIとして残す。セッション JWT認証のAPIは /api/v2/ として新規に作成してパスも分ける。 JWTはlocalStorageに保存されるように。
パスは分けないで済みそう(エンドポイントごとに仕込めたので) このさきv1/v2 APIをそれぞれパッケージで分けて処理を分割する(jwtの認証処理など必要) あと、ユーザーが安全にSteamにログインしてjwtを取得する方法を考えたい(クエリで渡すのはあまりにも危険) https://github.com/FlowingSPDG/get5-web-go/blob/feat/jwt-auth/server/src/api/api.go#L86-L89
クエリで渡してもオンラインにリクエストが飛ぶわけではないので一先ず安全 あとはV2 APIをjwtベースのものに書き換えればOK