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.
Este artigo lista métodos adicionais que os aplicativos podem usar para autenticar nos recursos do Azure. Esses métodos são menos comumente usados. Quando possível, use um dos métodos descritos na autenticação de aplicativos Go para o Azure usando a visão geral do SDK do Azure.
Autenticação interativa do navegador
Esse método autentica um aplicativo por meio de InteractiveBrowserCredential coletando credenciais de usuário no sistema padrão.
A autenticação interativa do navegador habilita o aplicativo para todas as operações permitidas pelas credenciais de logon interativas. Como resultado, se você for o proprietário ou administrador de sua assinatura, seu código terá acesso inerente à maioria dos recursos nessa assinatura sem precisar atribuir permissões específicas. Por esse motivo, use a autenticação interativa do navegador apenas para experimentação.
Habilitar aplicativos para autenticação interativa do navegador
Execute as etapas a seguir para permitir que o aplicativo se autentique por meio do fluxo interativo do navegador. Essas etapas também funcionam para a autenticação de código de dispositivo descrita posteriormente. Você só precisará seguir esse processo se estiver usando InteractiveBrowserCredential em seu código.
No portal do Azure, acesse a ID do Microsoft Entra e selecione registros de aplicativo no menu à esquerda.
Selecione o registro do aplicativo e selecione Autenticação.
Em Configurações avançadas, selecione Sim para Permitir fluxos de cliente público.
Selecione Salvar para aplicar as alterações.
Para autorizar o aplicativo para recursos específicos, acesse o recurso em questão, selecione Permissões de API e habilite o Microsoft Graph e outros recursos que você deseja acessar. O Microsoft Graph geralmente está habilitado por padrão.
Importante
Você também deve ser o administrador do seu locatário para dar consentimento ao seu aplicativo ao fazer logon pela primeira vez.
Se você não puder configurar a opção de fluxo de código do dispositivo em sua Microsoft Entra ID, pode ser que seu aplicativo precise ser multitenant. Para fazer essa alteração, vá para o painel Autenticação , selecione Contas em qualquer diretório organizacional (emtipos de conta com suporte) e selecione Sim para Permitir fluxos de clientes públicos.
Exemplo usando InteractiveBrowserCredential
O exemplo a seguir demonstra usar um InteractiveBrowserCredential para autenticar no SubscriptionsClient no pacote armsubscription:
package main
import (
"context"
"log"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
)
func main() {
cred, err := azidentity.NewInteractiveBrowserCredential(nil)
if err != nil {
// TODO: handle error
}
ctx := context.Background()
clientFactory, err := armsubscription.NewClientFactory(cred, nil)
if err != nil {
// TODO: handle error
}
res, err := clientFactory.NewSubscriptionsClient().Get(ctx, "<your_subscription_id>", nil)
if err != nil {
// TODO: handle error
}
// You could use response here. We use blank identifier for just demo purposes.
_ = res
}
Para um controle mais exato, como definir URIs de redirecionamento, você pode fornecer argumentos específicos, como RedirectURL para InteractiveBrowserCredential por meio do tipo InteractiveBrowserCredentialOptions.
Autenticação de código do dispositivo
Esse método autentica interativamente um usuário em dispositivos com interface do usuário limitada (normalmente dispositivos sem teclado):
- Quando o aplicativo tenta autenticar, a credencial solicita ao usuário uma URL e um código de autenticação.
- O usuário visita a URL em um dispositivo separado habilitado para navegador (um computador, smartphone e assim por diante) e insere o código.
- O usuário segue um processo normal de autenticação no navegador.
- Após a autenticação bem-sucedida, o aplicativo é autenticado no dispositivo.
Para obter mais informações, confira plataforma de identidade da Microsoft e o fluxo de concessão de autorização de dispositivo OAuth 2.0.
A autenticação de código do dispositivo em um ambiente de desenvolvimento habilita o aplicativo para todas as operações permitidas pelas credenciais de entrada interativas. Como resultado, se você for o proprietário ou administrador de sua assinatura, seu código terá acesso inerente à maioria dos recursos nessa assinatura sem precisar atribuir permissões específicas. No entanto, você pode usar esse método com uma ID de cliente específica, em vez do padrão, para o qual você pode atribuir permissões específicas.
Use o DeviceCodeCredential tipo do azidentity pacote para implementar a autenticação de código do dispositivo.