Compartilhar via


ClientAssertionCredential Classe

  • java.lang.Object
    • com.azure.identity.ClientAssertionCredential

Implementações

public class ClientAssertionCredential
implements TokenCredential

O ClientAssertionCredential adquire um token por meio da declaração do cliente e da autenticação da entidade de serviço. Esse método de autenticação fornece uma maneira segura e escalonável para que os aplicativos cliente acessem recursos do Azure sem a necessidade de os usuários fornecerem suas credenciais. Geralmente, ele é usado em cenários em que um aplicativo cliente precisa acessar recursos do Azure em nome de um usuário, como em uma arquitetura de aplicativo de várias camadas. Nesse método de autenticação, o aplicativo cliente cria um JWT (Token Web JSON) que inclui informações sobre a entidade de serviço (como sua ID de cliente e ID de locatário) e o assina usando um segredo do cliente. Em seguida, o cliente envia esse token para o Azure Active Directory (Azure AD) como prova de sua identidade. Azure AD verifica a assinatura do token e verifica se a entidade de serviço tem as permissões necessárias para acessar o recurso do Azure solicitado. Se o token for válido e a entidade de serviço estiver autorizada, Azure AD emitirá um token de acesso que o aplicativo cliente pode usar para acessar o recurso solicitado. O ClientAssertionCredential adquire um token de acesso com uma declaração de cliente de cliente para uma entidade de serviço/aplicativo AAD registrado. A tenantId, clientId e clientAssertion da entidade de serviço são necessárias para que essa credencial adquira um token de acesso. Ele pode ser usado em ambientes de desenvolvimento hospedados no Azure e locais para autenticação.

Como pré-requisito, uma entidade de serviço é necessária para usar esse mecanismo de autenticação. Se você não tiver uma entidade de serviço, consulte criar uma entidade de serviço com a CLI do Azure.

Exemplo: Construir um ClientAssertionCredential simples

O exemplo de código a seguir demonstra a criação de um ClientAssertionCredential, usando o ClientAssertionCredentialBuilder para configurá-lo. Os tenantIdparâmetros , clientId e certificate são necessários para criar ClientAssertionCredential. 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 clientAssertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .build();

Exemplo: Construir um ClientAssertionCredential por trás de um proxy

O exemplo de código a seguir demonstra a criação de um ClientAssertionCredential, usando o ClientAssertionCredentialBuilder para configurá-lo. Os tenantIdparâmetros , clientId e clientAssertion são necessários para criar ClientAssertionCredential. Opcionalmente, o THe proxyOptions pode ser configurado para direcionar um proxy. 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 assertionCredential = new ClientAssertionCredentialBuilder()
     .tenantId(tenantId)
     .clientId(clientId)
     .clientAssertion(() -> "<Client-Assertion>")
     .proxyOptions(new ProxyOptions(Type.HTTP, new InetSocketAddress("10.21.32.43", 5465)))
     .build();

Resumo do método

Modificador e tipo Método e descrição
reactor.core.publisher.Mono<AccessToken> getToken(TokenRequestContext request)
AccessToken getTokenSync(TokenRequestContext request)

Métodos herdados de java.lang.Object

Detalhes do método

getToken

public Mono getToken(TokenRequestContext request)

Parameters:

request

getTokenSync

public AccessToken getTokenSync(TokenRequestContext request)

Parameters:

request

Aplica-se a