firebase / firebase/firebase-admin-go

FR: add sign_in_second_factor claim to FirebaseInfo

Open
#619 0 comments 2 reactions 0 assignees View on GitHub
type: feature request
Dominant language
Go
Stars
1.3k
Forks
274
Avg merge
10h 39m
Merged PRs (30d)
2

Description

### Environment

* Firebase SDK version: v4.13.0
* Firebase Product: auth

### Describe the problem

I would like to have access to `sign_in_second_factor` to perform extra authorization based on this claim. It would be much cleaner if given by the SDK already instead of the workaround I'm using:

```go
type FirebaseInfo struct {
auth.FirebaseInfo
SignInSecondFactor string `json:"sign_in_second_factor,omitempty"`
}

func verifyMFA(claims map[string]any) error {
b, err := json.Marshal(claims["firebase"])
if err != nil {
return fmt.Errorf("could not marshal firebase info: %w", err)
}
var firebaseInfo FirebaseInfo
if err := json.Unmarshal(b, &firebaseInfo); err != nil {
return fmt.Errorf("could not unmarshal firebase info: %w", err)
}
if firebaseInfo.SignInSecondFactor == "" {
return fmt.Errorf("2FA enforced but not enrolled")
}
return nil
}
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.