在Azure逻辑应用程序中验证令牌的真实性涉及确保为正确的受众提供正确的代币和打算的令牌。您可以处理以下方式:
1。代币获取:首先,确保使用Azure Active Directory(AAD)正确获取令牌。这通常涉及将邮政请求发送到https:// login.microsoftonline.com/tenantid/oauth2/token`带有诸如client_id,`client_id`,`client_secret`,`
2。逻辑应用程序中的令牌验证:当通过HTTP触发器向逻辑应用程序提出请求时,您可以通过检查“授权”标题来验证令牌。该标头应包含一个持有人令牌,您可以对预期的受众和发行人进行验证。在逻辑应用程序中,您可以使用条件检查“授权”标头是否以“ Bearer”开头[5]。
3。受众和发行人验证:确保令牌的受众与您的逻辑应用程序的期望相匹配。如果观众不匹配,您将遇到“ InvalideThenticationTokenAudience”之类的错误[4]。还应验证发行人以确保其来自正确的Azure Ad租户。
4。使用Azure AD策略:您可以在逻辑应用程序中配置Azure AD策略,以指定预期的发行人和受众。这涉及在逻辑应用程序的触发设置中与正确的发行人和受众建立AAD策略[1]。
5。托管身份:为了增强安全性,请考虑使用托管身份来验证对Microsoft Entra受保护资源的访问。这可以简化逻辑应用程序工作流中的令牌管理和验证[6] [8]。
通过遵循以下步骤,您可以有效地验证Azure Logic应用中令牌的真实性。
引用:
[1] https://demiliani.com/2023/12/28/azure-logic-apps-securing-http-triggers-with-microsoft-entra-indra-id-authentication/
[2] https://turbo360.com/blog/validating-json-message-against-schema-in-logic-apps
[3] https://www.mikaelsand.se/2023/01/getting-a-bearer-token-from-aad-using-logic-apps/
[4] https://stackoverflow.com/questions/75551840/invalidauthenticationtokenaudience-authentication-for-logic-apps
[5] https://www.linkedin.com/pulse/securing-request-- trignd-logic-apps-usis-usis-us-azure-senih
[6] https://learn.microsoft.com/en-us/azure/logic-apps/authenticate-with-managed-indistity
[7] https://gotoguy.blog/2020/12/05/blog-series-powering-powering-powering-up--your-home-fice-lights-lights-part-4----------------- in-using-logic-apps-to-get-get-get-access-token-token-token-token-poken-and-renew-access-token-and-renew-access-token-renew-access-token-foken-foken-foken-foken-foken-foke-fif-nneed/comment-page-1/compage-page-1/
[8] https://docs.azure.cn/en-us/logic-apps/logic-apps-securing-a-logic-app