zenn.dev[B!]新着記事・評価 - はてなブックマーク (original) (raw)

type UserID string type userIDKey struct{} func GetUserID(ctx context.Context) (UserID, bool) { val, ok := ctx.Value(userIDKey{}).(UserID) return val, ok } func WithUserID(ctx context.Context, userID UserID) { return context.WithValue(ctx, userIDKey{}, userID) } ctx := req.Context() // リクエストの context.Context // JWT などから取り出した User ID を context へセット ctx = WithUserID(ctx, "user-id") // ビジネスロジックで cont