2015-01-19 5 views
3

우리는 워크 라이트에서 하이브리드 응용 프로그램을 개발하고 있으며 응용 프로그램 신뢰성을 구현해야합니다. IBM 응용 프로그램 센터에서 Worklight Enterprise Edition 6.2.0.1을 사용하고 있습니다. 그러나 우리는 Android에서 앱을 실행할 때 서버 로그에 다음 오류가 표시됩니다 (동일한 점이지만 Android 로그를 제공 할 것입니다).워크 라이트 정품

[1/19/15 15 : 25 : 05 : 388 EST] 00,000,254 WLNewAuthenti E com.worklight.core.auth.ext.appauth.WLNewAuthenticityScheme isInvalidAndroidParams FWLSE0260E는 : 없거나 로이드 진위 검사 빈 여기서 packageName하여 진위를 테스트 할 수있다 . Worklight Console에서 응용 프로그램 인증이 '사용 안 함'또는 '사용 가능, 서비스'로 설정되지 않은 경우 요청이 실패합니다. [프로젝트 MobileApp] [1/19/15 15 : 25 : 05 : 388 EST] 00000254 WLNewAuthenti E com.worklight.core.auth.ext.appauth.WLNewAuthenticityScheme isInvalidAndroidParams FWLSE0260E : 안드로이드 정품 확인을위한 publicsigningkey가 없거나 비어 있습니다. 테스트 할 수 없습니다. 확실성. Worklight Console에서 응용 프로그램 인증이 '사용 안 함'또는 '사용 가능, 서비스'로 설정되지 않은 경우 요청이 실패합니다. [프로젝트 모바일 뱅킹].

authenticationConfig.xml의 보안 테스트는 다음과 같습니다

<securityTests> 
    <mobileSecurityTest name="MobileAppTestMobile"> 
     <testAppAuthenticity/> 
     <testDeviceId provisioningType="auto" /> 
     <testUser realm="MobileAppRealm" /> 
     <testDirectUpdate mode="perSession" /> 
    </mobileSecurityTest> 

    <webSecurityTest name="MobileAppTest"> 
     <testUser realm="MobileAppRealm" /> 
    </webSecurityTest> 
    <customSecurityTest name="SubscribeServlet"> 
     <test realm="SubscribeServlet" isInternalUserID="true"/> 
    </customSecurityTest>   

</securityTests> 

응용 프로그램-descriptor.xml : 우리는 WAR 파일을 업데이트 한 후 처음부터 모든 응용 프로그램을 배포 한

<iphone bundleId="ca.company.MobileApp" securityTest="MobileAppTestMobile" version="1.0"> 
    <worklightSettings include="false"/> 
    <security> 
     <encryptWebResources enabled="true"/> 
     <testWebResourcesChecksum enabled="true" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/> 
    </security> 
</iphone> 
<android securityTest="MobileAppTestMobile" version="1.0"> 
    <worklightSettings include="false"/> 
    <security> 
     <encryptWebResources enabled="true"/> 
     <testWebResourcesChecksum enabled="true" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/> 
     <publicSigningKey>"We have added our public signing key here by extracting it from our keystore file"</publicSigningKey> 
    </security> 
</android> 

. 워크 라이트 콘솔에 정품 인증의 세 가지 값이 표시됩니다. "사용 - 사용 가능, 서비스 - 사용 가능, 차단"

"사용, 차단"또는 "사용 가능, 서비스"를 입력하면 서버에 오류 로그가 표시됩니다. 게시물 상단에서 공유됩니다. 응용 프로그램 화면에서 "응용 프로그램의 요청을 처리하는 동안 오류가 발생했습니다"라는 오류 메시지가 나타납니다.

알려 주시기 바랍니다. 감사합니다.

답변

1

을 결정된.

해결책 :

1 - 우리는 다음과 같이 customSecurityTest 할 authenticationConfig.xml에서 MobileSecurityTest 변경 및 WAR 파일을 다시 배포 : 응용 프로그램 설명자에

<customSecurityTest name="MobileSecurityTest"> 
     <test realm="wl_antiXSRFRealm" step="1"/> 
     <test realm="wl_authenticityRealm" step="1"/> 
     <test realm="wl_remoteDisableRealm" step="1"/> 
     <test realm="wl_directUpdateRealm" mode="perSession" step="1"/> 
     <test realm="wl_anonymousUserRealm" isInternalUserID="true" step="1"/> 
     <test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true" step="2"/> 
    </customSecurityTest> 

2-.xml :

안드로이드의 경우 Idan이 <packageName> 속성을 추가하는 것에 대해 사용한 바를 사용했습니다. bundleId는 "com.company.Myapp을"의 경우 평균입니다 :

<android securityTest="MobileSecurityTest" version="1.0"> 
    <worklightSettings include="false"/> 
    <security> 
     <encryptWebResources enabled="true"/> 
     <testWebResourcesChecksum enabled="true" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/> 
     <publicSigningKey>"Our public signing Key placed here"</publicSigningKey> 
     <packageName>ca.company.MobileTest</packageName> 
    </security> 
</android> 

iOS 용, 문제는 애플리케이션 ID에 있었다, 우리는 애플리케이션 ID 값이 bundleId의 마지막 부분, 예를 들어

입니다 생각 신청서는 "Myapp"이며, 이는 사실이 아닙니다.

<iphone bundleId="ca.company.MobileTestiPhone" applicationId="MobileTestiPhone" securityTest="MobileSecurityTest" version="1.0" > 

애플리케이션 ID는 아이폰이나 아이 패드 기본 폴더 안에있는 worklight.plist 파일 내부의 값이며,이 파일이 빌드를 수행 한 후 생성됩니다

이 잘못된 정의입니다. 우리의 appliction에는 완전히 다른 가치가 있습니다.

올바른 일이었다 :

응용 프로그램은 우리가 "차단, 사용"앱의 인증 값을 둘 때 우리의 WL 서버에서 차단 된 이유
<iphone bundleId="ca.company.MobileTestiPhone" applicationId="MobileTest" securityTest="MobileSecurityTest" version="1.0" > 

.

@Idan에게 도움을 주셔서 감사합니다.

0

오류 메시지에 따르면 Android 패키지 이름 (application-descriptor.xml)이 누락되었습니다.

This is the Authenticity tutorial for Hybrid apps v6.3에서는 같지만 6.2에서는 동일합니다. Android 지침에서 :

의 패키지 속성에서 AndroidManifest.xml의 매니페스트 노드를 가져옵니다. 당신이 에게 다른 값을 변경하기로 결정하면, 당신은 직접 응용 프로그램 descriptor.xml을 편집 할 수 있습니다 모두 locations.You 에서 변경되었는지 확인하고 여기서 packageName 추가 : 문제가있다

<android version="1.0"> 
     <worklightSettings include="false"/> 
     <security> 
      <encryptWebResources enabled="false"/> 
      <testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/> 
      <publicSigningKey>MIGff ...</publicSigningKey> 
      <packageName>com.MyBankApp</packageName> 
     </security> 
</android> 
+0

packageName을 추가하고 URL에서 언급 한 것과 동일한 단계를 수행했지만 여전히 동일한 오류가 발생합니다. authenticationConfig.xml이 올바른지 확인해 주시겠습니까? –

+0

.war 및 .wlapp 파일을 다시 배포해야합니다. 또는 다시 시작하십시오. –

+0

실제로 작동하지 않았습니다. 우리는 PMR에 대한 명확성을 얻기 위해 비가 내림으로써 IBM의 문제를 따르고 있습니다. 우리가 응답을받을 때 해결책으로 내 질문을 업데이트 할 것입니다. 도와 줘서 고마워. –