Skip to content

認証(Firebase Auth)

概要

Firebase AuthのIDトークン(Authorization: Bearer <token>)を検証する。FirebaseのUIDはそのままアプリのユーザーIDとして使う(uploads.user_idworks.user_id)。internal/authcmd/appcmd/worker双方からimport可能な共有パッケージ。認証情報ファイルはbackend/.secrets/firebase-credentials.json(gitignore対象)。

ミドルウェアが2種類ある理由

Echo(/api/*)と生のnet/http(TUSの/files/*)が混在しているため:

  • MiddleWareForEcho(): Echoのハンドラチェーン向け。
  • MiddleWareForHTTP(): 生のnet/httpハンドラ向け。

TUSのPreUploadCreateCallbackpipeline参照)は生ヘッダーしか扱えないため、exportされたVerifyIDTokenFromHeaderを直接呼んでトークン検証している。

主要な公開関数

  • MiddleWareForEcho() / MiddleWareForHTTP(): リクエスト単位のトークン検証ミドルウェア。
  • VerifyIDTokenFromHeader: 生ヘッダーからのトークン検証(TUSフック用)。
  • GetUIDFromContext: 検証済みリクエストのcontextからUIDを取り出すヘルパー。