我将部署在5.0.0.3 worklight服务器上的5.0.0.3 worklight应用程序迁移到Worklight studio 5.0.6,并在IPAS上完成部署。
在IPAS上部署成功,我现在尝试从我的平板电脑执行我的Android应用程序。
我在身份验证方面遇到了一些问题:
在Application Descriptor中,我使用securityTest保护application-descriptor.xml中的android应用程序。
我在authenticationConfig.xml中定义了realms,securityTest和loginModules。我使用FormBasedAuthenticator和NonValidatingLoginModule。
除了当我执行challengeHandler.submitSuccess()时,我的challengeHandler一切正常。在这里,在服务器控制台上我有以下错误:
com.worklight.core.auth.ext.AuthenticityLoginModule login FWLSE0127E:真实性检查失败。
我使用的SecurityTest是:CustomerCentricClientApp-strong-mobile-securityTest。 这是我的AuthenticationConfig.xml文件:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<securityTests>
<webSecurityTest name="CustomerCentricClientApp-web-securityTest">
<testUser realm="PushClientAppRealm"/>
</webSecurityTest>
<mobileSecurityTest name="CustomerCentricClientApp-strong-mobile-securityTest">
<testAppAuthenticity/>
<testUser realm="PushClientAppRealm"/>
<testDeviceId provisioningType="none"/>
</mobileSecurityTest>
</securityTests>
<realms>
<realm loginModule="PushAppClientLoginModule" name="PushClientAppRealm">
<className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
</realm>
<realm loginModule="requireLogin" name="WorklightConsole">
<className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
<onLoginUrl>/console</onLoginUrl>
</realm>
</realms>
<loginModules>
<loginModule name="PushAppClientLoginModule">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
<loginModule name="requireLogin">
<className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className>
</loginModule>
</loginModules>
以下是我的应用程序描述符的摘录:
<android securityTest="CustomerCentricClientApp-strong-mobile-securityTest" version="1.0">
<worklightSettings include="true"/>
<pushSender key="xxx" senderId="xx"/>
<security>
<encryptWebResources enabled="false"/>
<testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3"/>
<publicSigningKey>MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsW8rocRoAK0PElY5DpyN0wkg2CAVA7Ub8KSFDjBwofoWiA7AAD1hlcJJPCRznfFQ8nQEQ7jJAhpuOvmKxvVcRfj7shJ3JZP0yAvh0Lte8DSQ0MASXwfyehmJe9l/KiY5KWM6sDk+4oxcDJ2j2U+mBivR9+msdTaqIOFPP+PBteQIDAQAB</publicSigningKey>
</security>
</android>
答案 0 :(得分:0)
确保<testAppAuthenticity/>
是自定义安全测试的一部分。
除了添加上述真实性测试外,您还需要:
请注意,这仅适用于存在真实性功能的Worklight的消费者版或企业版。如果不是这种情况,我建议删除此securityTest。