2013-12-11 2 views
3

Worklight 6.0 및 양식 기반 인증을 사용하고 있습니다.WL.Client.createChallengeHandler에 대한 인수의 의미는 무엇입니까?

WL.Client.createChallengeHandler()에 대한 인수가 챌린지 처리기가 처리 할 영역이지만, 테스트는 영역 특정 챌린지 처리기를 만들 수있는 방법이 없음을 나타냅니다.

2 개의 절차가있는 어댑터가 있습니다. 각 절차에는 별도의 보안 테스트가 있습니다. 각 테스트는 서로 다른 영역 (r1 및 r2)에 해당합니다.

내 응용 프로그램에는 2 개의 챌린지 처리기 (하나는 r1, 다른 하나는 r2)가 있습니다. 그러나 r1의 챌린지 처리기는 두 어댑터 절차의 문제를 처리합니다. WL.Client.createChallengeHandler() ... 존재하지 않는 영역, 빈 문자열 또는 심지어 인수가없는 문자열을 사용할 수 있으며 사용 된 2 개의 챌린지 처리기 중 어느 것이 사용되는지는 변경 될 수 있지만 사용되는 것이 사용됩니다 모든 도전들.

WL.Client.createChallengeHandler()의 인수는 무엇에 사용됩니까? 영역에 챌린지 처리기를 묶는 방법이 있습니까?

답변

2

이 인수는 대부분의 사용자 인증 경우에 의미가 없습니다. 영역은 이름으로가 아니라 챌린지 처리기 내부의 isCustomResponse() 함수에 의해 감지됩니다.

는 기본적으로 WL의 인증 프레임 워크 영역

  1. 내부 WL 보안 영역, 예를 들어, 두 가지 유형을 처리하는 방법을 알고 noDeviceProvisioning, antiXSRF 등. 그들은 WL 인증 프레임 워크에서오고 있으며 미리 정의 된 하드 코드 된 영역 이름을 가지고 있습니다. 이러한 영역의 경우 인수 (realmName)는 WL 프레임 워크에서 내부적으로 사용됩니다.

  2. 원하는 모든 사용자 정의 인증 영역, 게이트웨이가 포함 된 나머지 모든 항목. 이 경우 개발자는 realmName에 의존 할 수 없습니다. 어떤 경우 개발자는 챌린지가 어떻게 보이는지 (예 : 인증 게이트웨이) 제어 할 수 없기 때문입니다. 따라서 문자열을 s realmName param으로 제공 할 수 있습니다 (어쨌든 무시됩니다). isCustomResponse() 함수를 사용하여 challenge가 특정 영역에 속하는지 여부를 감지 할 수 있습니다.

올바른 realmName을 제공하면 코드를 미래의 증거로 사용할 수 있습니다.

관련 문제