Azure Logic 앱에서 JWT를 검증 할 때 몇 가지 일반적인 오류가 발생할 수 있습니다.
1. 클레임 불일치 : 가장 빈번한 문제 중 하나는 "AUD"(청중) 주장과 같은 클레임 불일치입니다. 이는 토큰이 다른 응용 프로그램을 위해 의도 된 경우 또는 검증 정책 [1] [5]에 명시된 청구 값에 오타가있는 경우 발생할 수 있습니다.
2. 잘못된 OpenID 구성 : 잘못된 OpenID 구성 URL을 사용하면 유효성 검사 실패가 발생할 수 있습니다. URL이 올바른 Azure Ad Tenant 및 버전 (예 : v1.0 또는 v2.0)을 가리 키십시오 [1] [5].
3. 토큰 만료 및 서명 : 테스트 중에 종종 비활성화되었지만 생산 환경에서는 토큰에 서명하고 만료되지 않아야합니다. 이러한 조건을 확인하지 않으면 보안 취약점이 생길 수 있습니다 [2] [4].
4. 유효하지 않거나 누락 된 키 : 발행자 서명 키가 올바르게 구성되거나 검색되지 않으면 토큰 검증이 실패합니다. 이것은 Azure AD 토큰을 사용할 때 특히 관련이 있으며, 여기서 키는 Azure AD Discovery Endpoint에서 동적으로 검색됩니다 [3] [4].
5. 알고리즘 불일치 : JWT에 서명하는 데 사용되는 알고리즘은 유효성 검사 정책에 따라 예상되는 것을 일치시켜야합니다. 지원되지 않은 알고리즘을 사용하면 유효성 검사 오류가 발생할 수 있습니다 [4].
6. 토큰 형식 문제 : JWT는 올바르게 서식하고 인코딩해야합니다. 헤더, 페이로드 또는 서명의 모든 오류로 인해 검증이 실패 할 수 있습니다 [4] [6].
이러한 문제를 해결하려면 JWT.io와 같은 도구를 사용하여 JWT 토큰을 검사하고 모든 클레임과 설정이 검증 정책에 설정된 기대치와 일치하는지 확인해야합니다 [5].
인용 :
[1] https://stackoverflow.com/questions/57703697/jwt-validation-pailure-error-in-azure-apim
[2] https://stackoverflow.com/questions/51039420/azure-api-management-jwt-validation-pails
[3] https://www.googlecloudcommunity.com/gc/apigee/validating-jwt-generated-from-azure-ad/m-p/72212
[4] https://www.criipto.com/blog/jwt-validation-guide
[5] https://techcommunity.microsoft.com/blog/azuredevcommunityblog/part-4-secure-your-logic-app-using-api-management-8211-validate-jwt-access-restr/336802
[6] https://www.ducktypelabs.com/5-mistakes-web-developers- avoid-using-jwts-for-authentication/
[7] https://docs.azure.cn/en-us/api-management/validate-jwt-policy
[8] https://learn.microsoft.com/en-us/azure/api-management/validate-jwt-policy