CustomAuthPublicClientApplication class

Extends

PublicClientApplication

Métodos

create(CustomAuthConfiguration)

Cria uma nova instância de um PublicClientApplication com a configuração e o controlador determinados para iniciar fluxos de autenticação nativa

getCurrentAccount(CustomAuthActionInputs)

Obtém a conta atual do cache do navegador.

resetPassword(ResetPasswordInputs)

Inicia o fluxo de redefinição de senha. Esse método resulta em disparar uma ação extra (enviar código) para concluir a senha de redefinição. Crie o resultado com detalhes de erro se alguma exceção for gerada.

signIn(SignInInputs)

Inicia o fluxo de entrada. Esse método resulta em conclusão de entrada ou ações extras (senha, código etc.) necessárias para concluir a entrada. Crie o resultado com detalhes de erro se alguma exceção for gerada.

signUp(SignUpInputs)

Inicia o fluxo de inscrição. Esse método resulta em conclusão de inscrição ou ações extras (senha, código etc.) necessárias para concluir a inscrição. Crie o resultado com detalhes de erro se alguma exceção for gerada.

Métodos herdados

acquireTokenByCode(AuthorizationCodeRequest)

Essa função resgata um código de autorização (passado como código) do ponto de extremidade do token eSTS. Esse código de autorização deve ser adquirido no lado do servidor usando um cliente confidencial para adquirir um spa_code. Essa API não é recuada para aquisição e resgate de código de autorização normais.

O resgate desse código de autorização não exigirá PKCE, pois ele foi adquirido por um cliente confidencial.

acquireTokenPopup(PopupRequest)

Use quando quiser obter um access_token para sua API por meio da abertura de uma janela pop-up no navegador do usuário

acquireTokenRedirect(RedirectRequest)

Use quando quiser obter um access_token para sua API redirecionando a janela do navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

acquireTokenSilent(SilentRequest)

Adquira silenciosamente um token de acesso para um determinado conjunto de escopos. Retorna a promessa de processamento no momento se solicitações paralelas forem feitas.

addEventCallback(EventCallbackFunction, EventType[])

Adiciona retornos de chamada de evento à matriz

addPerformanceCallback(PerformanceCallbackFunction)

Registra um retorno de chamada para receber eventos de desempenho.

clearCache(ClearCacheRequest)

Limpa tokens e conta do cache do navegador.

createPublicClientApplication(Configuration)

Cria StandardController e o passa para o PublicClientApplication

disableAccountStorageEvents()

Remove o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida da localidade em uma guia ou janela do navegador diferente

enableAccountStorageEvents()

Adiciona o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida do localstorage em uma guia ou janela diferente do navegador

getAccount(AccountFilter)

Retorna a primeira conta encontrada no cache que corresponde ao filtro de conta passado.

getAccountByHomeId(string)

Retorna a conta de entrada correspondente a homeAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

getAccountByLocalId(string)

Retorna a conta de entrada correspondente a localAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

getAccountByUsername(string)

Retorna o nome de usuário correspondente à conta de entrada. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada. Essa API é fornecida para conveniência, mas getAccountById deve ser usado para melhor confiabilidade

getActiveAccount()

Obtém a conta ativa no momento

getAllAccounts(AccountFilter)

Retorna todas as contas no cache que correspondem ao filtro opcional. Se nenhum filtro for fornecido, todas as contas serão retornadas.

getLogger()

Retorna a instância do agente

getTokenCache()

Obtém o cache de token para o aplicativo.

handleRedirectPromise(string)

Função de manipulador de eventos que permite que os usuários disparem eventos após o objeto PublicClientApplication ter sido carregado durante os fluxos de redirecionamento. Isso deve ser invocado em todas as cargas de página envolvidas em fluxos de autenticação de redirecionamento.

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Hidrata o cache com os tokens e a conta no objeto AuthenticationResult

initialize(InitializeApplicationRequest)

Função inicializador para executar tarefas de inicialização assíncronas, como conectar-se à extensão WAM

initializeWrapperLibrary(WrapperSKU, string)

Chamado por bibliotecas wrapper (Angular &React) para definir SKU e Versão passadas para telemetria, agente etc.

loginPopup(PopupRequest)

Usar ao iniciar o processo de logon por meio da abertura de uma janela pop-up no navegador do usuário

loginRedirect(RedirectRequest)

Use ao iniciar o processo de logon redirecionando o navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

logout(EndSessionRequest)

Função de logoff preterida. Em vez disso, use logoutRedirect ou logoutPopup

logoutPopup(EndSessionPopupRequest)

Limpa o cache local para o usuário atual e, em seguida, abre uma janela pop-up solicitando que o usuário saia do servidor

logoutRedirect(EndSessionRequest)

Use para fazer logoff do usuário atual e redirecionar o usuário para o postLogoutRedirectUri. O comportamento padrão é redirecionar o usuário para window.location.href.

removeEventCallback(string)

Remove o retorno de chamada com a ID fornecida da matriz de retorno de chamada

removePerformanceCallback(string)

Remove um retorno de chamada registrado com addPerformanceCallback.

setActiveAccount(null | AccountInfo)

Define a conta a ser usada como a conta ativa. Se nenhuma conta for passada para as APIs acquireToken, a MSAL usará essa conta ativa.

setLogger(Logger)

Substitui o conjunto de agentes padrão nas configurações pelo novo Agente por novas configurações

setNavigationClient(INavigationClient)

Define o cliente de navegação

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Essa função usa um iframe oculto para buscar um código de autorização do eSTS. Há casos em que isso pode não funcionar:

  • Qualquer navegador usando uma forma de Prevenção de Acompanhamento Inteligente
  • Se não houver uma sessão estabelecida com o serviço

Nesses casos, a solicitação deve ser feita dentro de um pop-up ou redirecionamento de quadro completo.

Para os casos em que a interação é necessária, você não pode enviar uma solicitação com prompt=none.

Se o token de atualização tiver expirado, você poderá usar essa função para buscar um novo conjunto de tokens silenciosamente, desde que a sessão no servidor ainda exista.

Detalhes do método

create(CustomAuthConfiguration)

Cria uma nova instância de um PublicClientApplication com a configuração e o controlador determinados para iniciar fluxos de autenticação nativa

static function create(config: CustomAuthConfiguration): Promise<ICustomAuthPublicClientApplication>

Parâmetros

config
CustomAuthConfiguration

Um objeto de configuração para a instância publicClientApplication

Retornos

  • Uma promessa que resolve para uma instância CustomAuthPublicClientApplication

getCurrentAccount(CustomAuthActionInputs)

Obtém a conta atual do cache do navegador.

function getCurrentAccount(accountRetrievalInputs?: CustomAuthActionInputs): GetAccountResult

Parâmetros

accountRetrievalInputs

CustomAuthActionInputs

Retornos

  • O resultado da operação obter conta

resetPassword(ResetPasswordInputs)

Inicia o fluxo de redefinição de senha. Esse método resulta em disparar uma ação extra (enviar código) para concluir a senha de redefinição. Crie o resultado com detalhes de erro se alguma exceção for gerada.

function resetPassword(resetPasswordInputs: ResetPasswordInputs): Promise<ResetPasswordStartResult>

Parâmetros

resetPasswordInputs
ResetPasswordInputs

Entradas para o fluxo de redefinição de senha

Retornos

  • Uma promessa que resolve redefinir ResetPasswordStartResult

signIn(SignInInputs)

Inicia o fluxo de entrada. Esse método resulta em conclusão de entrada ou ações extras (senha, código etc.) necessárias para concluir a entrada. Crie o resultado com detalhes de erro se alguma exceção for gerada.

function signIn(signInInputs: SignInInputs): Promise<SignInResult>

Parâmetros

signInInputs
SignInInputs

Entradas para o fluxo de entrada

Retornos

Promise<SignInResult>

  • Uma promessa que resolve o SignInResult

signUp(SignUpInputs)

Inicia o fluxo de inscrição. Esse método resulta em conclusão de inscrição ou ações extras (senha, código etc.) necessárias para concluir a inscrição. Crie o resultado com detalhes de erro se alguma exceção for gerada.

function signUp(signUpInputs: SignUpInputs): Promise<SignUpResult>

Parâmetros

signUpInputs
SignUpInputs

Retornos

Promise<SignUpResult>

  • Uma promessa que resolve para SignUpResult

Detalhes do método herdado

acquireTokenByCode(AuthorizationCodeRequest)

Essa função resgata um código de autorização (passado como código) do ponto de extremidade do token eSTS. Esse código de autorização deve ser adquirido no lado do servidor usando um cliente confidencial para adquirir um spa_code. Essa API não é recuada para aquisição e resgate de código de autorização normais.

O resgate desse código de autorização não exigirá PKCE, pois ele foi adquirido por um cliente confidencial.

function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>

Parâmetros

request

AuthorizationCodeRequest

AuthorizationCodeRequest

Retornos

Promise<AuthenticationResult>

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.

Herdado de PublicClientApplication.acquireTokenByCode

acquireTokenPopup(PopupRequest)

Use quando quiser obter um access_token para sua API por meio da abertura de uma janela pop-up no navegador do usuário

function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>

Parâmetros

request

PopupRequest

Retornos

Promise<AuthenticationResult>

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.

Herdado de PublicClientApplication.acquireTokenPopup

acquireTokenRedirect(RedirectRequest)

Use quando quiser obter um access_token para sua API redirecionando a janela do navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

function acquireTokenRedirect(request: RedirectRequest): Promise<void>

Parâmetros

request

RedirectRequest

Retornos

Promise<void>

Herdado de PublicClientApplication.acquireTokenRedirect

acquireTokenSilent(SilentRequest)

Adquira silenciosamente um token de acesso para um determinado conjunto de escopos. Retorna a promessa de processamento no momento se solicitações paralelas forem feitas.

function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>

Parâmetros

silentRequest

SilentRequest

Retornos

Promise<AuthenticationResult>

  • uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado. Retorna o AuthenticationResult objeto

Herdado de PublicClientApplication.acquireTokenSilent

addEventCallback(EventCallbackFunction, EventType[])

Adiciona retornos de chamada de evento à matriz

function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string

Parâmetros

callback

EventCallbackFunction

eventTypes

EventType[]

Retornos

null | string

Herdado de PublicClientApplication.addEventCallback

addPerformanceCallback(PerformanceCallbackFunction)

Registra um retorno de chamada para receber eventos de desempenho.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Parâmetros

Retornos

string

Herdado de PublicClientApplication.addPerformanceCallback

clearCache(ClearCacheRequest)

Limpa tokens e conta do cache do navegador.

function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>

Parâmetros

logoutRequest

ClearCacheRequest

Retornos

Promise<void>

Herdado de PublicClientApplication.clearCache

createPublicClientApplication(Configuration)

Cria StandardController e o passa para o PublicClientApplication

static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>

Parâmetros

configuration

Configuration

{Configuration}

Retornos

Promise<IPublicClientApplication>

Herdado de PublicClientApplication.createPublicClientApplication

disableAccountStorageEvents()

Remove o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida da localidade em uma guia ou janela do navegador diferente

function disableAccountStorageEvents()

Herdado de PublicClientApplication.disableAccountStorageEvents

enableAccountStorageEvents()

Adiciona o ouvinte de eventos que emite um evento quando uma conta de usuário é adicionada ou removida do localstorage em uma guia ou janela diferente do navegador

function enableAccountStorageEvents()

Herdado de PublicClientApplication.enableAccountStorageEvents

getAccount(AccountFilter)

Retorna a primeira conta encontrada no cache que corresponde ao filtro de conta passado.

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Parâmetros

accountFilter
AccountFilter

Retornos

null | AccountInfo

A primeira conta encontrada no cache que corresponde ao filtro fornecido ou nulo se nenhuma conta puder ser encontrada.

Herdado de PublicClientApplication.getAccount

getAccountByHomeId(string)

Aviso

Essa API foi preterida.

  • Use getAccount instead

Retorna a conta de entrada correspondente a homeAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Parâmetros

homeAccountId

string

Retornos

null | AccountInfo

O objeto de conta armazenado na MSAL

Herdado de PublicClientApplication.getAccountByHomeId

getAccountByLocalId(string)

Aviso

Essa API foi preterida.

  • Use getAccount instead

Retorna a conta de entrada correspondente a localAccountId. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada

function getAccountByLocalId(localId: string): null | AccountInfo

Parâmetros

localId

string

Retornos

null | AccountInfo

O objeto de conta armazenado na MSAL

Herdado de PublicClientApplication.getAccountByLocalId

getAccountByUsername(string)

Aviso

Essa API foi preterida.

  • Use getAccount instead

Retorna o nome de usuário correspondente à conta de entrada. (o objeto de conta é criado no momento do logon bem-sucedido) ou nulo quando nenhuma conta correspondente é encontrada. Essa API é fornecida para conveniência, mas getAccountById deve ser usado para melhor confiabilidade

function getAccountByUsername(userName: string): null | AccountInfo

Parâmetros

userName

string

Retornos

null | AccountInfo

O objeto de conta armazenado na MSAL

Herdado de PublicClientApplication.getAccountByUsername

getActiveAccount()

Obtém a conta ativa no momento

function getActiveAccount(): null | AccountInfo

Retornos

null | AccountInfo

Herdado de PublicClientApplication.getActiveAccount

getAllAccounts(AccountFilter)

Retorna todas as contas no cache que correspondem ao filtro opcional. Se nenhum filtro for fornecido, todas as contas serão retornadas.

function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]

Parâmetros

accountFilter
AccountFilter

Filtro (opcional) para restringir as contas retornadas

Retornos

Matriz de objetos AccountInfo no cache

Herdado de PublicClientApplication.getAllAccounts

getLogger()

Retorna a instância do agente

function getLogger(): Logger

Retornos

Herdado de PublicClientApplication.getLogger

getTokenCache()

Obtém o cache de token para o aplicativo.

function getTokenCache(): ITokenCache

Retornos

ITokenCache

Herdado de PublicClientApplication.getTokenCache

handleRedirectPromise(string)

Função de manipulador de eventos que permite que os usuários disparem eventos após o objeto PublicClientApplication ter sido carregado durante os fluxos de redirecionamento. Isso deve ser invocado em todas as cargas de página envolvidas em fluxos de autenticação de redirecionamento.

function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>

Parâmetros

hash

string

Hash a ser processado. O padrão é o valor atual de window.location.hash. Só precisará ser fornecido explicitamente se a resposta a ser tratada não estiver contida no valor atual.

Retornos

Promise<null | AuthenticationResult>

Resposta de token ou nulo. Se o valor retornado for nulo, nenhum redirecionamento de autenticação foi detectado.

Herdado de PublicClientApplication.handleRedirectPromise

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Hidrata o cache com os tokens e a conta no objeto AuthenticationResult

function hydrateCache(result: AuthenticationResult, request: PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<void>

Parâmetros

result

AuthenticationResult

request

PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

O objeto de solicitação que foi usado para obter o AuthenticationResult

Retornos

Promise<void>

Herdado de PublicClientApplication.hydrateCache

initialize(InitializeApplicationRequest)

Função inicializador para executar tarefas de inicialização assíncronas, como conectar-se à extensão WAM

function initialize(request?: InitializeApplicationRequest): Promise<void>

Parâmetros

request

InitializeApplicationRequest

{? InitializeApplicationRequest}

Retornos

Promise<void>

Herdado de PublicClientApplication.initialize

initializeWrapperLibrary(WrapperSKU, string)

Chamado por bibliotecas wrapper (Angular &React) para definir SKU e Versão passadas para telemetria, agente etc.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Parâmetros

sku

WrapperSKU

version

string

Herdado de PublicClientApplication.initializeWrapperLibrary

loginPopup(PopupRequest)

Usar ao iniciar o processo de logon por meio da abertura de uma janela pop-up no navegador do usuário

function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>

Parâmetros

request

PopupRequest

Retornos

Promise<AuthenticationResult>

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.

Herdado de PublicClientApplication.loginPopup

loginRedirect(RedirectRequest)

Use ao iniciar o processo de logon redirecionando o navegador do usuário para o ponto de extremidade de autorização. Essa função redireciona a página, portanto, qualquer código que siga essa função não será executado.

IMPORTANTE: NÃO é recomendável ter um código que dependa da resolução da Promessa. Essa função navegará para longe da janela atual do navegador. Atualmente, ele retorna uma Promessa para refletir a natureza assíncrona do código em execução nesta função.

function loginRedirect(request?: RedirectRequest): Promise<void>

Parâmetros

request

RedirectRequest

Retornos

Promise<void>

Herdado de PublicClientApplication.loginRedirect

logout(EndSessionRequest)

Aviso

Essa API foi preterida.

Função de logoff preterida. Em vez disso, use logoutRedirect ou logoutPopup

function logout(logoutRequest?: EndSessionRequest): Promise<void>

Parâmetros

logoutRequest

EndSessionRequest

Retornos

Promise<void>

Herdado de PublicClientApplication.logout

logoutPopup(EndSessionPopupRequest)

Limpa o cache local para o usuário atual e, em seguida, abre uma janela pop-up solicitando que o usuário saia do servidor

function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>

Parâmetros

logoutRequest

EndSessionPopupRequest

Retornos

Promise<void>

Herdado de PublicClientApplication.logoutPopup

logoutRedirect(EndSessionRequest)

Use para fazer logoff do usuário atual e redirecionar o usuário para o postLogoutRedirectUri. O comportamento padrão é redirecionar o usuário para window.location.href.

function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>

Parâmetros

logoutRequest

EndSessionRequest

Retornos

Promise<void>

Herdado de PublicClientApplication.logoutRedirect

removeEventCallback(string)

Remove o retorno de chamada com a ID fornecida da matriz de retorno de chamada

function removeEventCallback(callbackId: string)

Parâmetros

callbackId

string

Herdado de PublicClientApplication.removeEventCallback

removePerformanceCallback(string)

Remove um retorno de chamada registrado com addPerformanceCallback.

function removePerformanceCallback(callbackId: string): boolean

Parâmetros

callbackId

string

Retornos

boolean

Herdado de PublicClientApplication.removePerformanceCallback

setActiveAccount(null | AccountInfo)

Define a conta a ser usada como a conta ativa. Se nenhuma conta for passada para as APIs acquireToken, a MSAL usará essa conta ativa.

function setActiveAccount(account: null | AccountInfo)

Parâmetros

account

null | AccountInfo

Herdado de PublicClientApplication.setActiveAccount

setLogger(Logger)

Substitui o conjunto de agentes padrão nas configurações pelo novo Agente por novas configurações

function setLogger(logger: Logger)

Parâmetros

logger
Logger

Instância do agente

Herdado de PublicClientApplication.setLogger

setNavigationClient(INavigationClient)

Define o cliente de navegação

function setNavigationClient(navigationClient: INavigationClient)

Parâmetros

navigationClient

INavigationClient

Herdado de PublicClientApplication.setNavigationClient

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Essa função usa um iframe oculto para buscar um código de autorização do eSTS. Há casos em que isso pode não funcionar:

  • Qualquer navegador usando uma forma de Prevenção de Acompanhamento Inteligente
  • Se não houver uma sessão estabelecida com o serviço

Nesses casos, a solicitação deve ser feita dentro de um pop-up ou redirecionamento de quadro completo.

Para os casos em que a interação é necessária, você não pode enviar uma solicitação com prompt=none.

Se o token de atualização tiver expirado, você poderá usar essa função para buscar um novo conjunto de tokens silenciosamente, desde que a sessão no servidor ainda exista.

function ssoSilent(request: Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<AuthenticationResult>

Parâmetros

request

Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

SsoSilentRequest

Retornos

Promise<AuthenticationResult>

Uma promessa que é cumprida quando essa função é concluída ou rejeitada se um erro foi gerado.

Herdado de PublicClientApplication.ssoSilent