A validação de um token de identificação nos aplicativos lógicos do Azure envolve várias etapas, focando principalmente em garantir que o token seja genuíno e não tenha sido adulterado. Veja como você pode abordar isso:
1. Entenda os tokens de identificação: os tokens de identificação são os tokens da Web (JWTS) JSON emitidos pelo servidor de autorização para confirmar a identidade de um usuário. Eles contêm reivindicações sobre o usuário e são usados para autenticação, não autorização [3].
2. Validar o token:
- emissor: verifique se o token foi emitido pela autoridade esperada, como `https://login.microsoftonline.com/ {tenantId}/v2.0`.
- Audiência: verifique se o token se destina ao seu aplicativo, verificando a reivindicação `AUD 'corresponde ao ID do cliente do seu aplicativo.
- TIMESTAMPS: verifique se os registros de data e hora `` iat`, `nbf` e` exp` são válidos, garantindo que o token não esteja expirado ou ainda não é válido [3].
3. Use uma biblioteca de validação: em vez de validar manualmente o token, use uma biblioteca projetada para validação do JWT para verificar a assinatura e as reivindicações. Essa abordagem ajuda a evitar armadilhas comuns e garante a segurança [3].
4. Integre -se aos aplicativos lógicos do Azure:
- No seu aplicativo lógico, você pode usar as opções de autenticação para validar tokens. Por exemplo, você pode configurar uma política de autorização que verifique as reivindicações do emissor e do público [9].
- Use a exibição de código do aplicativo Logic para incluir cabeçalhos de autorização nas saídas do gatilho, permitindo acessar e validar o token no seu fluxo de trabalho [9].
5. Identidades gerenciadas para segurança aprimorada:
- Embora não esteja diretamente relacionado à validação do token de ID, o uso de identidades gerenciadas nos aplicativos lógicos do Azure pode melhorar a segurança geral, eliminando a necessidade de gerenciar credenciais para autenticação [2] [11].
Seguindo essas etapas, você pode validar efetivamente os tokens de ID nos aplicativos lógicos do Azure, garantindo que apenas usuários autenticados possam acionar seus fluxos de trabalho.
Citações:
[1] https://www.linkedin.com/pulse/securing-request baseado em logic-apps-using-azure-senih
[2] https://docs.azure.cn/en-us/logic-apps/logic-apps-securing-a-logic-app
[3] https://docs.azure.cn/en-us/entra/Identity-platform/id-Tokens
[4] https://stackoverflow.com/questions/50239472/how-to-use-odata-id-in-json-body-when-using-the-http-action-in-azure-logic-ap/50251779
[5] https://stackoverflow.com/questions/58821345/logic-app-calling-webapi-with-managed-sidentity-what-kind-of-token-s-added-to-re
[6] https://www.youtube.com/watch?v=tgjic_go1qk
[7] https://www.youtube.com/watch?v=zvijhve0muu
[8] https://github.com/azure/azure-functions-host/issues/10532
[9] https://autosysops.com/blog/parse-jwt-tokens-in-azure-logic-apps
[10] https://learn.microsoft.com/en-us/azure/logic-apps/logic-apps-custom-api-authentication
[11] https://learn.microsoft.com/en-us/azure/logic-apps/authenticate-with-managed-entity