package main
import (
"context"
"fmt"
"log"
"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()
// List all signing keys
keys, err := managementClient.Keys.Signing.List(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Println("Current signing keys:")
for _, key := range keys {
fmt.Printf(" - %s (current: %v)\n", key.GetKID(), key.GetCurrent())
}
// Rotate to a new key
fmt.Println("\nRotating signing key...")
newKey, err := managementClient.Keys.Signing.Rotate(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Printf("New active key: %s\n", newKey.GetKID())
fmt.Printf("Algorithm: %s\n", newKey.GetAlgorithm())
// List keys again to see the rotation
keys, err = managementClient.Keys.Signing.List(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Println("\nAfter rotation:")
for _, key := range keys {
fmt.Printf(" - %s (current: %v)\n", key.GetKID(), key.GetCurrent())
}
}