我在 Android 应用程序中遇到身份验证问题,我使用的是 Worklight 版本 5.0.6。
我使用此身份验证配置创建了一个安全应用程序:
<securityTests>
<mobileSecurityTest name="Sencha22-Mobile-SecurityTest">
<testDeviceId provisioningType="none"/>
<testUser realm="SampleAppRealm"/>
</mobileSecurityTest>
</securityTests>
<realms>
<realm loginModule="StrongDummy" name="SampleAppRealm">
<className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
</realm>
</realms>
<loginModules>
<loginModule name="StrongDummy">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
</loginModules>
我也有一个 ChallengeHandler 具有以下内容:
challengeHandler.submitLoginFormCallback = function(response) {
var isLoginFormResponse = challengeHandler.isCustomResponse(response);
if(isLoginFormResponse){
//login unsuccessful
Ext.Msg.alert('Error', "Login not successful", Ext.emptyFn);
}else{
//login successful, reload the app
WL.Client.reloadApp();
}
}
WL.Client.reloadApp() 语句在身份验证发生后正确执行,但是函数:
WL.Client.isUserAuthenticated("SampleAppRealm")
在 Android 上总是返回 NULL。
当在 Chrome 中作为公共资源查看时,该应用程序运行良好。
Android 上的 isUserAuthenticated 有问题吗?