package main
import (
"context"
"fmt"
"log"
"github.com/auth0/go-auth0/v2"
"github.com/auth0/go-auth0/v2/management"
)
func main() {
managementClient, err := management.New(
"yourtenant.auth0.com",
management.WithClientCredentials(clientID, clientSecret),
)
if err != nil {
log.Fatal(err)
}
ctx := context.Background()
// Enable SMS factor
_, err = managementClient.Guardian.Factors.Update(ctx, "sms", &management.UpdateFactorRequest{
Enabled: auth0.Bool(true),
})
if err != nil {
log.Fatal(err)
}
// Enable OTP factor
_, err = managementClient.Guardian.Factors.Update(ctx, "otp", &management.UpdateFactorRequest{
Enabled: auth0.Bool(true),
})
if err != nil {
log.Fatal(err)
}
// Set policy to require MFA for all applications
_, err = managementClient.Guardian.Policies.Update(ctx, &management.UpdatePolicyRequest{
Policy: auth0.String("all-applications"),
})
if err != nil {
log.Fatal(err)
}
fmt.Println("Guardian MFA configured successfully")
}