(아래 예제의 모든 ID가 만들어 졌으므로 몇 가지 매개 변수의 형식을 설명하기 위해이 ID를 추가했습니다).여권 - 하늘색 - 광고 : 왜 "jwt 잠재 고객이 유효하지 않습니다"?
내 거주자가 acme.co.uk에 있지만, 배포 한 웹 앱을 https://subdomain.acme2.co.uk에두고 Azure AD에 사용자 인증을 위임하고 싶습니다.
다음과 같이 new portal : 을 사용하여 앱을 등록했습니다. 필드 이름은 하늘색 포털에서 사용 된 것입니다.
앱 ID의 URL : https://acme.co.uk/11111111-2222-3333-4444-555555555555
홈 페이지 URL : https://subdomain.acme2.co.uk/api/auth/aad
회신 된 URL : https://subdomain.acme2.co.uk/api/auth/aad/callback
와 값으로 만료되지 않습니다 비밀 키를 생성 : '111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaa ='
나는 passport-azure-ad github sample using v1 endpoint을 지침으로 삼았습니다. 내가 어떻게 'https://subdomain.acme2.co.uk/api/auth/aad/callback'로 리디렉션 다시 내가 다음 할 수있는 로그인 MS에 리디렉션 브라우저에서 'https://subdomain.acme2.co.uk/api/auth/aad',하지만 경우에 도착했을 때
{
allowHttpForRedirectUrl: false,
clientID: 'https://acme.co.uk/11111111-2222-3333-4444-555555555555',
clientSecret: '111111111111111111/aaaaaaaaaaaaaaaaaaaaaaaa=',
identityMetadata: 'https://login.microsoftonline.com/acme.co.uk/.well-known/openid-configuration',
isB2C: false,
issuer: null,
loggingLevel: 'info',
passReqToCallback: false,
redirectUrl: 'https://subdomain.acme2.co.uk/api/auth/aad/callback',
responseMode: 'form_post',
responseType: 'code id_token',
skipUserProfile: true,
useCookieInsteadOfSession: false,
validateIssuer: true
}
는 내가 인증 아니에요.
내가 볼 콜백 POST 요청에서 헤더를 검사 :
In _validateResponse: jwt audience is invalid. expected: https://acme.co.uk/11111111-2222-3333-4444-555555555555,spn:https://acme.co.uk/11111111-2222-3333-4444-555555555555
내가 잘못 무슨 짓을했는지 어떤 아이디어 ??? [: - |
(단점 : 디버거가 작동하지 않아 리디렉션이 제대로 작동하지 않아 실제 환경 ATM에 배포해야합니다.)
이 하나 https://github.com/AzureAD/passport-azure-ad/issues/309? 부수적으로, 리디렉션은 일반 302입니다. 브라우저에서 도킹 된 응용 프로그램에 액세스 할 수 있으면 리디렉션이 작동해야합니다. –
디버깅 측면에서 크롬 개발 도구, 네트워크 탭과 같은 것을 사용하여 "로그 보존"을 활성화하고 login.microsoftonline.com으로 전송 된 'state'쿼리 문자열 매개 변수와 'https : // subdomain.acme2.co.uk/api/auth/aad/callback'. –
정보 주셔서 감사합니다. 그래, 그 문제를 보았지만 불행히도 나는 최신 버전 (3.0.8)이다. 나는 쿼리 문자열 상태 값을 응답 '양식 데이터'-> '상태'와 비교했으며 정확히 같았고 (볼 URL 인코딩이 없음) –