2016-07-21 20 views
1

우리 제품 제품군에서 사용자 인증을 위해 WSO2 ID 서버를 사용하고 있습니다. 최근에 버전을 5.0.0에서 5.1.0으로 업그레이드했습니다. 우리는 IWA (Windows 통합 인증)을 사용할 때 WSO2 신원 서버에 5.1.0 버전을 업그레이드 한 후 우리는 다음과 같은 예외를 얻고있다WSO2IS 5.1.0 - IWA가 Internet Explorer에서 작동하지 않습니다 - com.sun.jna.platform.win32.Win32Exception : 함수에 제공된 토큰이 유효하지 않습니다.


TID: [-1234] [] [2016-07-21 18:46:52,606] DEBUG {waffle.servlet.spi.NegotiateSecurityFilterProvider} - security package: Negotiate, connection id: fe80:0:0:0:f1da:6adb:d83e:18d6%6:64966 
TID: [-1234] [] [2016-07-21 18:46:52,622] DEBUG {waffle.servlet.spi.NegotiateSecurityFilterProvider} - token buffer: 1629 byte(s) 
TID: [-1234] [] [2016-07-21 18:46:52,675] ERROR {org.apache.catalina.core.StandardWrapperValve} - Servlet.service() for servlet [bridgeservlet] in context with path [/] threw exception 
com.sun.jna.platform.win32.Win32Exception: The token supplied to the function is invalid 
at waffle.windows.auth.impl.WindowsAuthProviderImpl.acceptSecurityToken(WindowsAuthProviderImpl.java:137) 
at waffle.servlet.spi.NegotiateSecurityFilterProvider.doFilter(NegotiateSecurityFilterProvider.java:102) 
at waffle.servlet.spi.SecurityFilterProviderCollection.doFilter(SecurityFilterProviderCollection.java:116) 
at org.wso2.carbon.identity.application.authenticator.iwa.servlet.IWAServelet.doPost(IWAServelet.java:89) 
at org.wso2.carbon.identity.application.authenticator.iwa.servlet.IWAServelet.doGet(IWAServelet.java:64) 

Google에서 문제를 찾고 후 우리는 다음과 같은 포스트를 건너 왔어요 . 1.7.4 버전에서 해결 와플 라이브러리의 이전 버전에서 일부 문제가있는 것처럼

https://github.com/dblock/waffle/issues/107

는 것 같습니다. WSO2 Identity server 5.1.0에는 Waffle 라이브러리 버전 1.6.0 (waffle-jna_1.6.0.wso2v4.jar)이 함께 제공됩니다.

이제 내 질문에 최신 Waffle 라이브러리 (버전 1.7.4 이상)가 포함 된 WSO2 Identity 서버 패치를 사용할 수 있습니까? Waffle의 최신 버전을 다운로드하고 "wso2is-5.1.0 \ repository \ components \ plugins"폴더에 넣을 수 있습니까? 작동할까요? 위의 문제가 해결되는지 확인해야합니다. 이 문제에 대한 다른 해결책을 찾을 수 없습니다.

+0

이를 추적하기 위해 https://wso2.org/jira/browse/IDENTITY-4855를 만들었습니다. 우리는 Identity Server 5.2.0 릴리스로이 문제를 해결할 것입니다. – farasath

답변

0

새 버전을 plugins 폴더에 넣는 것은 작동하지 않습니다. 다음 단계를 따라야합니다.

  1. 와플 1.7.4를 OSGi 번들로 포장하십시오. this pom file을 참조하면 1.6 버전과 동일합니다. 새 pom 파일에서 버전이 제대로 업데이트되었는지 확인하십시오. POM을 파일에서
  2. 빌드 당신은 IS를 \ dropins 폴더 \
  3. 이 저장소 \ 구성 요소에 넣어은 OSGi 번들을 얻고 다시 시작 위에서 생성
  4. [검증 단계] [선택] 시작 wso2server.bat -DosgiConsole와 OSGI 콘솔에서 IS . 서버가 가동되면 osgi 콘솔에서 ss을 실행하고 org.wso2.carbon.identity.application.authenticator.iwa 번들 ID를 찾습니다 (이것은 ~ 500 이하의 정수입니다). 그리고 b <bundle_id>을 다운로드하고 1.7 버전의 와플 패키지를 바인딩하십시오.