사용자가 Azure AD (B2C 아님)에 대해 인증 한 다음 JWT 토큰을 사용하여 WebAPI를 호출해야하는 iOS 앱을 개발 중입니다.iOS 및 Azure 용 AppAuth를 사용하는 잘못된 잠재 고객 클레임
은 내가 AppAuth 라이브러리를 사용하고 있습니다 :
OIDAuthorizationService.discoverConfiguration(forDiscoveryURL: url) { configuration, error in
...
}
그리고
let request = OIDAuthorizationRequest(configuration: configuration, clientId:<NativeApp AppID>, scopes: [OIDScopeOpenID], redirectURL: redirectURL, responseType: OIDResponseTypeCode, additionalParameters: ["resource": "<WebAPI AppID>"])
OIDAuthState.authState(byPresenting: request, presenting: presentingViewController) { state, error in
...
}
그러나 문제는, 내 JWT 토큰의 관객 주장은 내 고객의 AppID가, 아닌 AppID가의가있다 WebAPI AppID와 함께 리소스 매개 변수를 전달하더라도 WebAPI.
따라서 WebAPI는 잠재 고객 주장이 잘못되어 JWT 토큰을 거부합니다.
내 JWT 토큰의 청중이 WebAPI의 AppID라고 주장하려면 어떻게해야합니까?
HTTP 추적을 검사하여 토큰을 검색하기 위해 전송되는 페이로드가 맞는지 확인할 수 있습니까? –
잘못된 자원 인 AppID를 입력하면 App을 찾을 수 없다는 오류가 발생하기 때문에 보이는 것처럼 보입니다. –
추가 조사에서/authorize 엔드 포인트가 호출되면 자원 매개 변수가 전달되지만/토큰 엔드 포인트가 호출 될 때 그렇지 않음을 보여줍니다. AppAuth에서 어떻게 할 수 있습니까? –