Autenticação do utilizador final com Azure Data Lake Storage Gen1 com a API REST
Neste artigo, irá aprender a utilizar a API REST para efetuar a autenticação do utilizador final com Azure Data Lake Storage Gen1. Para autenticação serviço a serviço com Data Lake Storage Gen1 através da API REST, veja Autenticação serviço a serviço com Data Lake Storage Gen1 com a API REST.
Pré-requisitos
Uma subscrição do Azure. Consulte Obter versão de avaliação gratuita do Azure.
Crie uma Aplicação "Nativa" Microsoft Entra ID. Tem de ter concluído os passos em Autenticação do utilizador final com Data Lake Storage Gen1 com Microsoft Entra ID.
cURL. Este artigo utiliza cURL para demonstrar como efetuar chamadas à API REST numa conta Data Lake Storage Gen1.
Autenticação de utilizador final
A autenticação do utilizador final é a abordagem recomendada se quiser que um utilizador inicie sessão na sua aplicação com Microsoft Entra ID. A sua aplicação consegue aceder aos recursos do Azure com o mesmo nível de acesso que o utilizador com sessão iniciada. O utilizador tem de fornecer as credenciais periodicamente para que a sua aplicação mantenha o acesso.
O resultado de ter o início de sessão do utilizador final é o facto de a sua aplicação receber um token de acesso e um token de atualização. O token de acesso é anexado a cada pedido feito a Data Lake Storage Gen1 ou Data Lake Analytics e é válido por uma hora por predefinição. O token de atualização pode ser utilizado para obter um novo token de acesso e é válido até duas semanas por predefinição, se utilizado regularmente. Pode utilizar duas abordagens diferentes para o início de sessão do utilizador final.
Neste cenário, a aplicação pede ao utilizador para iniciar sessão e todas as operações são efetuadas no contexto do utilizador. Efetue os seguintes passos:
Através da sua aplicação, redirecione o utilizador para o seguinte URL:
https://login.microsoftonline.com/<TENANT-ID>/oauth2/authorize?client_id=<APPLICATION-ID>&response_type=code&redirect_uri=<REDIRECT-URI>
Nota
<O REDIRECT-URI> tem de ser codificado para utilização num URL. Assim, para https://localhost, utilize
https%3A%2F%2Flocalhost
)Para o objetivo deste tutorial, pode substituir os valores de marcador de posição no URL acima e colá-lo na barra de endereço do browser. Será redirecionado para a autenticação utilizando o seu início de sessão do Azure. Depois de iniciar sessão com êxito, a resposta é apresentada na barra de endereço do browser. A resposta estará no seguinte formato:
http://localhost/?code=<AUTHORIZATION-CODE>&session_state=<GUID>
Capture o código de autorização na resposta. Para este tutorial, pode copiar o código de autorização da barra de endereço do browser e passá-lo no pedido POST para o ponto final do token, conforme mostrado no fragmento seguinte:
curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token \ -F redirect_uri=<REDIRECT-URI> \ -F grant_type=authorization_code \ -F resource=https://management.core.windows.net/ \ -F client_id=<APPLICATION-ID> \ -F code=<AUTHORIZATION-CODE>
Nota
Neste caso, o <REDIRECT-URI> não precisa de ser codificado.
A resposta é um objeto JSON que contém um token de acesso (por exemplo,
"access_token": "<ACCESS_TOKEN>"
) e um token de atualização (por exemplo,"refresh_token": "<REFRESH_TOKEN>"
). A sua aplicação utiliza o token de acesso ao aceder ao Azure Data Lake Storage Gen1 e ao token de atualização para obter outro token de acesso quando um token de acesso expirar.{"token_type":"Bearer","scope":"user_impersonation","expires_in":"3599","expires_on":"1461865782","not_before": "1461861882","resource":"https://management.core.windows.net/","access_token":"<REDACTED>","refresh_token":"<REDACTED>","id_token":"<REDACTED>"}
Quando o token de acesso expirar, pode pedir um novo token de acesso com o token de atualização, conforme mostrado no fragmento seguinte:
curl -X POST https://login.microsoftonline.com/<TENANT-ID>/oauth2/token \ -F grant_type=refresh_token \ -F resource=https://management.core.windows.net/ \ -F client_id=<APPLICATION-ID> \ -F refresh_token=<REFRESH-TOKEN>
Para obter mais informações sobre a autenticação de utilizador interativa, veja Fluxo de concessão de códigos de autorização.
Passos seguintes
Neste artigo, aprendeu a utilizar a autenticação serviço a serviço para se autenticar com Azure Data Lake Storage Gen1 com a API REST. Agora, pode ver os seguintes artigos que falam sobre como utilizar a API REST para trabalhar com Azure Data Lake Storage Gen1.