Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
A Biblioteca do Microsoft Authenticator (MSAL) para Go é uma nova integrante da família de bibliotecas MSAL. Ele foi disponibilizado na versão prévia pronta para produção para medir o interesse do cliente e coletar comentários da comunidade. Damos as boas-vindas a todos os colaboradores (confira as diretrizes de contribuição no repositório de bibliotecas) para nos ajudar a melhorar a biblioteca.
O Biblioteca do Microsoft Authenticator (MSAL) para Go faz parte do plataforma de identidade para desenvolvedores da Microsoft. Ele permite conectar usuários ou aplicativos com identidades Microsoft (Azure AD e Microsoft Accounts) e obter tokens para chamar APIs como Microsoft Graph ou suas próprias APIs registradas na plataforma de identidade da Microsoft. Ele é criado usando protocolos OAuth2 e OpenID Connect padrão do setor.
O código mais recente está no ramo dev no repositório da biblioteca no GitHub.
Installation
Configurando o Go
Para instalar o Go, visite este link.
Instalação do MSAL Go
go get -u github.com/AzureAD/microsoft-authentication-library-for-go/
Usage
Antes de usar o MSAL Go, você precisará registrar seu aplicativo com o plataforma de identidade da Microsoft.
Superfície pública
A API pública da biblioteca pode ser encontrada nos seguintes diretórios em apps.
-
confidential- A API de aplicativo confidencial -
public- A API do aplicativo público -
cache- A interface de cache que pode ser implementada para fornecer armazenamento de credenciais em cache de persistência -
managedidentity- A API de Identidade Gerenciada
A aquisição de tokens com o MSAL Go segue este padrão geral de três etapas. Pode haver algumas pequenas diferenças para outros fluxos de aquisição de token. Aqui está um exemplo básico:
A MSAL separa aplicativos cliente públicos e confidenciais. Portanto, você criaria uma instância de
PublicClientApplicationeConfidentialClientApplicatione a usaria ao longo de todo o ciclo de vida da sua aplicação.- Inicializando um cliente público:
publicClientApp, err := public.New("client_id", public.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))- Inicializando um 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 o aplicativo de Identidade Gerenciada, consulte a identidade gerenciada
A MSAL vem empacotada com um cache na memória. Utilizar o cache é opcional, mas é altamente recomendável.
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 }Se não houver nenhum token adequado no cache ou você optar por ignorar esta etapa, envie uma solicitação para Azure AD para obter um token. Há métodos diferentes para adquirir um token com base no tipo de aplicativo e no cenário. Aqui, demonstramos um fluxo de exemplo.
result, err := publicClientApp.AcquireTokenByOneofTheActualMethods([]string{"your_scope"}, ...(other parameters depending on the function)) if err != nil { log.Fatal(err) } accessToken := result.AccessToken
Você pode exibir os aplicativos de exemplo do desenvolvedor sobre como usar o MSAL Go com vários tipos de aplicativo em vários cenários.
Lançamentos
Para obter uma lista completa de versões de biblioteca, consulte a seção Versões no repositório de código-fonte da biblioteca.
Ajuda e suporte da Comunidade
Usamos o Stack Overflow para trabalhar com a comunidade no suporte a Azure Active Directory e seus SDKs, incluindo este! É altamente recomendável que você faça suas perguntas sobre o Stack Overflow. Você também pode procurar perguntas existentes para ver se alguém já encontrou o problema antes. Use a azure-ad-msal marca ao fazer suas perguntas.
Se você encontrar um bug ou tiver uma solicitação de recurso, abra um novo problema na seção Problemas .
Enviar comentários
Se você tiver algum feedback sobre a biblioteca, não deixe de enviar suas solicitações de funcionalidades e relatórios de erros no GitHub.
Biblioteca de segurança
Essa biblioteca controla como os usuários se conectaram e acessam serviços. É recomendável usar a versão mais recente da nossa biblioteca em seu aplicativo quando possível. Usamos o controle de versão semântico para que você possa controlar o risco associado à atualização do aplicativo. Por exemplo, sempre fazer download da versão secundária mais recente (por exemplo, x.y.x) garante que você obtenha as melhorias de segurança e de funcionalidades mais recentes, mas a interface da nossa API permanece a mesma. Você sempre pode ver a versão mais recente e as notas de versão na guia Versões no GitHub.
Relatórios de segurança
Se você encontrar um problema de segurança com nossas bibliotecas ou serviços, denuncie-o secure@microsoft.com com o máximo de detalhes possível. A sua submissão pode ser elegível para uma recompensa através do programa Microsoft Bounty . Por favor, não publique problemas de segurança no GitHub Issues nem em qualquer outro site público. Entraremos em contato com você em breve após receber as informações. Recomendamos que você receba notificações de quando ocorrem incidentes de segurança visitando esta página e assinando alertas de consultoria de segurança.