【Golang】リクエストスコープの値をcontextに渡す
2022年04月17日 12:49
contextの役割の1つにリクエストスコープの値を渡すというものがあります。リクエストスコープの値はJWTなどに含まれるユーザーの情報などが挙げられます。その流れについて実例を書いてみました。
下記はリクエストスコープを渡す流れになります。
contextに値をセット・取得する場合はunexportなkeyを定義することでタイプセーフに、予期しない場所でのセット・取得がされないようにすることが推奨されています。(参考)
SetUserID
とGetUserID
の動作はこちらからもご確認いただけます。
認証トークンはFirebaseのAdmin Auth APIを利用して取得したIDトークンを利用します。
middlewareでリクエストのAuthorizationからIDトークンを取得します。(IDトークンはJWTと同様の形式で情報を保持しています)
あとはhandlerもしくはcontrollerでcontextからuserIDを取得するだけです!
以上、リクエストスコープをcontextで渡す方法についてでした!
診断を受けるとあなたの現在の業務委託単価を算出します。今後副業やフリーランスで単価を交渉する際の参考になります。また次の単価レンジに到達するためのヒントも確認できます。