您好我正在尝试连接到生产服务器并执行应用程序真实性(本机Android应用程序)。但是我收到了以下错误"应用程序真实性安全检查失败"。
我在MFP项目级别所做的工作。
在authconfig xml中。
<customSecurityTest name="AuthSecurityTest">
<test realm="wl_antiXSRFRealm" step="1" />
<test realm="wl_authenticityRealm" step="1" />
<test realm="wl_remoteDisableRealm" step="1" />
<test isInternalUserID="true" realm="AuthRealm" step="1" />
<test realm="wl_deviceNoProvisioningRealm" isInternalDeviceID="true"
step="2" />
</customSecurityTest>
<realm loginModule="AuthLoginModule" name="AuthRealm">
<className>com.worklight.integration.auth.AdapterAuthenticator</className>
<parameter name="login-function" value="AuthAdapter.onAuthRequired" />
<parameter name="logout-function" value="AuthAdapter.onLogout" />
</realm>
<loginModule name="AuthLoginModule">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
我的应用程序描述符:
<nativeAndroidApp xmlns="http://www.worklight.com/native-android-descriptor"
id="MFP_Android"
platformVersion="7.1.0.00.20160401-2103" securityTest="AuthSecurityTest" version="1.0">
<displayName>MFP_Android</displayName>
<description>MFP_Android</description>
<accessTokenExpiration>3600</accessTokenExpiration>
<publicSigningKey>MIIBHSAKJHDFKJHFKHDFKJHDKJHDFSKJHFDSKJHFDSKJDFHKJDFHDFHJDSKDFSHKDJFSHKJFDHSKJDFSHKJDFSHKJDFSHKJDFHSKJDFHlkasalJAscnmxzcncxmnzksjdadskjdsjsdjskjdksjdakjdssdjksdaj</publicSigningKey>
<packageName>com.mfp</packageName>
<targetCategory>UNDEFINED</targetCategory>
<licenseAppType>APPLICATION</licenseAppType>
</nativeAndroidApp>
我在连接上打电话挑战。
AndroidChallengeHandler challengeHandler = new AndroidChallengeHandler("AuthRealm");
WLClient client;
client.registerChallengeHandler(challengeHandler);
client.connect();
我的回复是
/*-secure- {"reason":"App authenticity security check failed"}*/
我会得到这样的回应。
答案 0 :(得分:1)
<packageName>com.mfp</packageName>
。您是否确定这是您的包名(您可以在Android原生项目的AndroidManifest.xml文件中找到)?
另一种可能性是,描述符XML文件中使用的密钥与用于对.apk进行签名的密钥不匹配。
最后,这可能是由于您在身份验证配置XML文件中定义的步骤。尝试将“wl_remoteDisableRealm”更改为“步骤2”。此更改将要求您将更新的.war文件重新部署到应用程序服务器。