Compartilhar via


DeviceCodeCredentialBuilder Classe

public class DeviceCodeCredentialBuilder
extends AadCredentialBuilderBase<DeviceCodeCredentialBuilder>

Construtor de credenciais fluente para instanciar um DeviceCodeCredential.

A autenticação de código do dispositivo é um tipo de fluxo de autenticação oferecido pelo Azure Active Directory (Azure AD) que permite que os usuários entrem em aplicativos em dispositivos que não têm um navegador da Web ou um teclado. Esse método de autenticação é particularmente útil para dispositivos como TVs inteligentes, consoles de jogos e dispositivos IoT (Internet das Coisas) que podem não ter a capacidade de inserir um nome de usuário e senha. Com a autenticação de código do dispositivo, o usuário recebe um código de dispositivo no dispositivo que precisa ser autenticado. Em seguida, o usuário navega até um navegador da Web em um dispositivo separado e insere o código na página de entrada da Microsoft. Depois que o usuário insere o código, Azure AD o verifica e solicita que o usuário entre com suas credenciais, como um nome de usuário e senha ou um método de MFA (autenticação multifator). A autenticação de código do dispositivo pode ser iniciada usando vários protocolos com suporte Azure AD, como OAuth 2.0 e OpenID Connect, e pode ser usada com uma ampla gama de aplicativos integrados Azure AD. O DeviceCodeCredential autentica interativamente um usuário e adquire um token em dispositivos com interface do usuário limitada. Ele funciona solicitando que o usuário acesse uma URL de logon em um computador habilitado para navegador quando o aplicativo tenta se autenticar. Em seguida, o usuário insere o código de dispositivo mencionado nas instruções junto com suas credenciais de logon. Após a autenticação bem-sucedida, o aplicativo que solicitou a autenticação é autenticado com êxito no dispositivo em que está sendo executado. Para obter mais informações, consulte os detalhes de configuração e conhecimento conceitual.

Essas etapas permitirão que o aplicativo seja autenticado, mas ainda não terá permissão para fazer logon no Active Directory nem acessar recursos em seu nome. Para resolver esse problema, navegue até Permissões de API e habilite o Microsoft Graph e os recursos que você deseja acessar, como o gerenciamento de serviços do Azure, Key Vault e assim por diante. Você também precisa ser o administrador do seu locatário para dar consentimento ao seu aplicativo ao fazer logon pela primeira vez. Se você não conseguir configurar a opção de fluxo de código do dispositivo em seu Active Directory, talvez seu aplicativo precise ser multilocatário. Para tornar seu aplicativo multilocatário, navegue até o painel Autenticação e selecione Contas em qualquer diretório organizacional. Em seguida, selecione sim para Tratar aplicativo como Cliente Público.

Exemplo: Construir DeviceCodeCredential

O exemplo de código a seguir demonstra a criação de um DeviceCodeCredential, usando o DeviceCodeCredentialBuilder para configurá-lo. Por padrão, a credencial imprime o desafio de código do dispositivo na linha de comando, para substituir os comportamentos que um challengeConsumer pode ser especificado opcionalmente no DeviceCodeCredentialBuilder. Depois que essa credencial for criada, ela poderá ser passada para o construtor de muitos dos construtores de clientes do SDK do Azure para Java como o parâmetro "credencial".

TokenCredential deviceCodeCredential = new DeviceCodeCredentialBuilder()
     .build();

Resumo do Construtor

Construtor Description
DeviceCodeCredentialBuilder()

Resumo do método

Modificador e tipo Método e descrição
DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

Para aplicativos multilocatários, especifica locatários adicionais para os quais a credencial pode adquirir tokens.

DeviceCodeCredentialBuilder additionallyAllowedTenants(List<String> additionallyAllowedTenants)

Para aplicativos multilocatários, especifica locatários adicionais para os quais a credencial pode adquirir tokens.

DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

Define o AuthenticationRecord capturado de uma autenticação anterior.

DeviceCodeCredential build()

Cria um novo DeviceCodeCredential com as configurações atuais.

DeviceCodeCredentialBuilder challengeConsumer(Consumer<DeviceCodeInfo> challengeConsumer)

Define o consumidor para atender ao desafio de código do dispositivo.

DeviceCodeCredentialBuilder disableAutomaticAuthentication()

Desabilita a autenticação automática e impede que o DeviceCodeCredential solicite automaticamente o usuário.

DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

Configura as opções persistentes de cache de token compartilhado e habilita o cache de token persistente que está desabilitado por padrão.

Métodos herdados de AadCredentialBuilderBase

Métodos herdados de CredentialBuilderBase

Métodos herdados de java.lang.Object

Detalhes do construtor

DeviceCodeCredentialBuilder

public DeviceCodeCredentialBuilder()

Detalhes do método

additionallyAllowedTenants

public DeviceCodeCredentialBuilder additionallyAllowedTenants(String[] additionallyAllowedTenants)

Para aplicativos multilocatários, especifica locatários adicionais para os quais a credencial pode adquirir tokens. Adicione o valor curinga "*" para permitir que a credencial adquira tokens para qualquer locatário no qual o aplicativo está instalado. Se nenhum valor for especificado para TenantId, essa opção não terá efeito e a credencial adquirirá tokens para qualquer locatário solicitado.

Overrides:

DeviceCodeCredentialBuilder.additionallyAllowedTenants(String[] additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - os locatários permitidos adicionalmente.

Returns:

Uma instância atualizada desse construtor com os locatários adicionais configurados.

additionallyAllowedTenants

public DeviceCodeCredentialBuilder additionallyAllowedTenants(List additionallyAllowedTenants)

Para aplicativos multilocatários, especifica locatários adicionais para os quais a credencial pode adquirir tokens. Adicione o valor curinga "*" para permitir que a credencial adquira tokens para qualquer locatário no qual o aplicativo está instalado. Se nenhum valor for especificado para TenantId, essa opção não terá efeito e a credencial adquirirá tokens para qualquer locatário solicitado.

Overrides:

DeviceCodeCredentialBuilder.additionallyAllowedTenants(List<String> additionallyAllowedTenants)

Parameters:

additionallyAllowedTenants - os locatários permitidos adicionalmente.

Returns:

Uma instância atualizada desse construtor com os locatários adicionais configurados.

authenticationRecord

public DeviceCodeCredentialBuilder authenticationRecord(AuthenticationRecord authenticationRecord)

Define o AuthenticationRecord capturado de uma autenticação anterior.

Parameters:

authenticationRecord - o registro de autenticação a ser configurado.

Returns:

Uma instância atualizada desse construtor com o registro de autenticação configurado.

build

public DeviceCodeCredential build()

Cria um novo DeviceCodeCredential com as configurações atuais.

Returns:

um DeviceCodeCredential com as configurações atuais.

challengeConsumer

public DeviceCodeCredentialBuilder challengeConsumer(Consumer challengeConsumer)

Define o consumidor para atender ao desafio de código do dispositivo. Se não for especificado, um consumidor padrão será usado, o que imprime a mensagem de informações de código do dispositivo para stdout.

Parameters:

challengeConsumer - Um método que permite que o usuário atenda ao desafio de código do dispositivo.

Returns:

o InteractiveBrowserCredentialBuilder em si

disableAutomaticAuthentication

public DeviceCodeCredentialBuilder disableAutomaticAuthentication()

Desabilita a autenticação automática e impede que o DeviceCodeCredential solicite automaticamente o usuário. Se a autenticação automática estiver desabilitada, um AuthenticationRequiredException será gerado no caso de a interação do getToken(TokenRequestContext request) usuário ser necessária. O aplicativo é responsável por lidar com essa exceção e chamar authenticate() ou authenticate(TokenRequestContext request) autenticar o usuário interativamente.

Returns:

Uma instância atualizada desse construtor com a autenticação automática desabilitada.

tokenCachePersistenceOptions

public DeviceCodeCredentialBuilder tokenCachePersistenceOptions(TokenCachePersistenceOptions tokenCachePersistenceOptions)

Configura as opções persistentes de cache de token compartilhado e habilita o cache de token persistente que está desabilitado por padrão. Se configurada, a credencial armazenará tokens em um cache persistido no computador, protegido para o usuário atual, que pode ser compartilhado por outras credenciais e processos.

Parameters:

tokenCachePersistenceOptions - as opções de configuração de cache de token

Returns:

Uma instância atualizada desse construtor com as opções de cache de token configuradas.

Aplica-se a