Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Note
Biblioteca de autenticación de Microsoft (MSAL) para Go es una nueva adición a la familia de bibliotecas msal. Se ha puesto a disposición de la versión preliminar lista para producción para medir el interés del cliente y recopilar comentarios de la comunidad. Agradecemos a todos los colaboradores (consulte las directrices de contribución en el repositorio de bibliotecas) para ayudarnos a mejorar la biblioteca.
El Biblioteca de autenticación de Microsoft (MSAL) para Go forma parte del Plataforma de identidad de Microsoft para desarrolladores. Permite iniciar sesión de usuarios o aplicaciones con identidades de Microsoft (Azure AD y cuentas de Microsoft) y obtener tokens para llamar a las API, como Microsoft Graph o sus propias API registradas con el Plataforma de identidad de Microsoft. Se crea mediante protocolos OAuth2 y OpenID Connect estándar del sector.
El código más reciente se encuentra en la rama dev del repositorio de GitHub de la biblioteca.
Installation
Configuración de Go
Para instalar Go, visite este vínculo.
Instalación de MSAL Go
go get -u github.com/AzureAD/microsoft-authentication-library-for-go/
Uso
Antes de usar MSAL Go, deberá registrar la aplicación con el Plataforma de identidad de Microsoft.
Superficie pública
La API pública de la biblioteca se puede encontrar en los siguientes directorios en apps.
-
confidential- La API de aplicación confidencial -
public- La API de aplicación pública -
cache- Interfaz de caché que se puede implementar para proporcionar almacenamiento en caché de persistencia de credenciales. -
managedidentity- La API de identidad administrada
La adquisición de tokens con MSAL Go sigue este patrón general de tres pasos. Puede haber algunas pequeñas diferencias para otros flujos de adquisición de tokens. Este es un ejemplo básico:
MSAL separa las aplicaciones cliente públicas y confidenciales. Por lo tanto, crearía una instancia de
PublicClientApplicationyConfidentialClientApplicationy la usaría durante toda la vigencia de la aplicación.- Inicialización de un cliente público:
publicClientApp, err := public.New("client_id", public.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))- Inicialización de un cliente confidencial:
// Initializing the client credential cred, err := confidential.NewCredFromSecret("client_secret") if err != nil { return nil, fmt.Errorf("could not create a cred from a secret: %w", err) } confidentialClientApp, err := confidential.New("client_id", cred, confidential.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))para usar la aplicación Managed Identity, consulte Identidad administrada.
MSAL incluye una caché en memoria. El uso de la memoria caché es opcional, pero se recomienda encarecidamente.
var userAccount public.Account accounts := publicClientApp.Accounts() if len(accounts) > 0 { // Assuming the user wanted the first account userAccount = accounts[0] // found a cached account, now see if an applicable token has been cached result, err := publicClientApp.AcquireTokenSilent(context.Background(), []string{"your_scope"}, public.WithSilentAccount(userAccount)) accessToken := result.AccessToken }Si no hay ningún token adecuado en la memoria caché o decide omitir este paso, envíe una solicitud a Azure AD para obtener un token. Hay diferentes métodos para adquirir un token en función del tipo de aplicación y el escenario. Aquí mostramos un flujo de marcador de posición.
result, err := publicClientApp.AcquireTokenByOneofTheActualMethods([]string{"your_scope"}, ...(other parameters depending on the function)) if err != nil { log.Fatal(err) } accessToken := result.AccessToken
Puede ver las aplicaciones de ejemplo para desarrolladores sobre cómo usar MSAL Go con varios tipos de aplicaciones en varios escenarios.
Lanzamientos
Para obtener una lista completa de las versiones de biblioteca, consulte la sección Versiones del repositorio de código fuente de la biblioteca.
Ayuda y soporte de la comunidad
Usamos Stack Overflow para colaborar con la comunidad en el soporte de Azure Active Directory y sus SDKs, incluido este SDK. Le recomendamos encarecidamente que haga sus preguntas en Stack Overflow. También puede examinar las preguntas existentes para ver si alguien ha encontrado el problema antes. Use la azure-ad-msal etiqueta al formular sus preguntas.
Si encuentra un error o tiene una solicitud de característica, abra un nuevo problema en la sección Problemas .
Enviar comentarios
Si tiene algún comentario de biblioteca, asegúrese de enviar las solicitudes de características y los informes de errores en GitHub.
Biblioteca de seguridad
Esta biblioteca controla cómo los usuarios inician sesión y acceden a los servicios. Se recomienda usar la versión más reciente de nuestra biblioteca en la aplicación siempre que sea posible. Usamos versionado semántico para que puedas controlar el riesgo de actualizar tu aplicación. Por ejemplo, descargar siempre la última versión secundaria (p. ej., x.y.x) garantiza que obtengas las últimas mejoras de seguridad y funcionalidad, mientras que la superficie de la API sigue siendo la misma. Siempre puede consultar la versión más reciente y las notas de la versión en la pestaña Releases de GitHub.
Informes de seguridad
Si encuentra un problema de seguridad con nuestras bibliotecas o servicios, infórtelo secure@microsoft.com con tantos detalles como sea posible. Su envío puede ser apto para obtener una recompensa a través del programa de recompensas de Microsoft . No publique los problemas de seguridad en GitHub Issues ni en ningún otro sitio público. Nos pondrá en contacto con usted poco después de recibir la información. Le recomendamos que reciba notificaciones de cuándo se producen incidentes de seguridad visitando esta página y suscríbiéndose a alertas de aviso de seguridad.