Docs Menu
Docs Home
/ /

Autenticación con el SDK de Atlas Go

El atlas-sdk-go La biblioteca utiliza la autenticación Digest como método de autenticación predeterminado. Puede Cree una clave API a través de la interfaz de usuario de Atlas o la CLI de Atlas.

Para obtener más información sobre la autenticación de API, consulte Autenticación de API de administración de Atlas.

Para acceder a diferentes partes de la API de administración de Atlas, cree un nuevo cliente del SDK de Atlas y utilice sus servicios. Por ejemplo:

package main
import (
"context"
"fmt"
"log"
"os"
"go.mongodb.org/atlas-sdk/v20250312001/admin"
)
func main() {
ctx := context.Background()
apiKey := os.Getenv("MONGODB_ATLAS_PUBLIC_KEY")
apiSecret := os.Getenv("MONGODB_ATLAS_PRIVATE_KEY")
sdk, err := admin.NewClient(admin.UseDigestAuth(apiKey, apiSecret))
if err != nil {
log.Fatalf("Error instantiating new client: %v", err)
}
projects, response, err := sdk.ProjectsApi.ListProjects(ctx).Execute()
if err != nil {
log.Fatalf("Could not fetch projects: %v", err)
}
fmt.Printf("Response status: %v\n", response.Status)
fmt.Printf("Projects: %v\n", projects)
}

Atlas SDK Go proporciona autenticación OAuth mediante cuentas de servicio. Actualmente, esto está disponible como una funcionalidad de Vista previa. Para obtener más información, consulta Funcionalidades de vista previa.

Una cuenta de servicio implementa una concesión de credenciales de cliente de OAuth. Para obtener más información sobre esta función, consulte la documentación pública de la cuenta de servicio.

Autenticación con cuentas de servicio

package main
import (
"context"
"log"
"os"
"go.mongodb.org/atlas-sdk/v20250312001/admin"
)
func main() {
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
if clientID == "" || clientSecret == "" {
log.Fatal("Missing CLIENT_ID or CLIENT_SECRET environment variables")
}
// Using ClientID and ClientSecret. No cache supported (nil).
sdk, err := admin.NewClient(admin.UseOAuthAuth(context.Background(), clientID, clientSecret))
// Make API calls
}

Para una implementación de referencia completa, consulte el ejemplo de cuenta de servicio.

La revocación invalida un token OAuth antes de su fecha de vencimiento. Esto cierra la sesión del cliente OAuth actual y permite configurar uno nuevo.

// Sounding code omitted for brevity
revokeConfig := credentials.NewConfig(clientID, clientSecret)
revokeConfig.RevokeToken(context.Background(), &auth.Token{
AccessToken: "yourTokenHere"
});

La validez de los tokens de acceso OAuth de la cuenta de servicio se expresa en segundos en el expires_in campo. Los clientes pueden almacenar en caché estos tokens de acceso para mitigar la limitación de velocidad y cumplir con los límites de tokens de acceso.

Para obtener un ejemplo sobre cómo almacenar en caché y reutilizar tokens OAuth en el SDK de Atlas para Go, consulte el ejemplo de caché de tokens OAuth de cuenta de servicio.

Volver

Atlas Go SDK