Single sign on 与未受保护的适配器身份验证程序一起使用时,设备单一登录不起作用
我正在使用移动安全测试测试设备SSO,并使用了适配器身份验证。我在同一个项目中创建了两个应用程序,我的Single sign on 与未受保护的适配器身份验证程序一起使用时,设备单一登录不起作用,single-sign-on,ibm-mobilefirst,worklight-adapters,worklight-server,worklight-security,Single Sign On,Ibm Mobilefirst,Worklight Adapters,Worklight Server,Worklight Security,我正在使用移动安全测试测试设备SSO,并使用了适配器身份验证。我在同一个项目中创建了两个应用程序,我的authenicationConfig.xml如下所示 <staticResources> <resource id="subscribeServlet" securityTest="SubscribeServlet"> <urlPatterns>/subscribeSMS*;/receiveSMS*;/ussd*</urlPa
authenicationConfig.xml
如下所示
<staticResources>
<resource id="subscribeServlet" securityTest="SubscribeServlet">
<urlPatterns>/subscribeSMS*;/receiveSMS*;/ussd*</urlPatterns>
</resource>
</staticResources>
<securityTests>
<mobileSecurityTest name="AuthSecurityTest">
<testDeviceId provisioningType="none" />
<testUser realm="AuthRealm" sso="true" />
</mobileSecurityTest>
</securityTests>
<realms>
<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>
<realm name="SampleAppRealm" loginModule="StrongDummy">
<className>com.worklight.core.auth.ext.FormBasedAuthenticator</className>
</realm>
<realm name="SubscribeServlet" loginModule="rejectAll">
<className>com.worklight.core.auth.ext.HeaderAuthenticator</className>
</realm>
</realms>
<loginModules>
<loginModule name="AuthLoginModule">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
<loginModule name="StrongDummy" expirationInSeconds="3600">
<className>com.worklight.core.auth.ext.NonValidatingLoginModule</className>
</loginModule>
<loginModule name="requireLogin" expirationInSeconds="3600">
<className>com.worklight.core.auth.ext.SingleIdentityLoginModule</className>
</loginModule>
<loginModule name="rejectAll" expirationInSeconds="3600">
<className>com.worklight.core.auth.ext.RejectingLoginModule</className>
</loginModule>
</loginModules>
谁能告诉我我做错了什么。如何在不登录的情况下访问第二个应用程序
我确实阅读了发布在中的问题,但没有清楚地了解Authadapter.xml
。另外,如何为wl\u未受保护的安全测试启用SSO
在登录后尝试重新启动时,Worklight控制台中出现以下错误
[错误]FWLSE0059E:登录到领域“AuthLoginModule”失败。流无法设置大小。[project DSSO]流无法设置大小
[错误]FWLSE0117E:错误代码:4,错误描述:身份验证错误,错误消息:使用loginModule AuthLoginModule执行身份验证时出错,用户标识不可用。[直资支援计划][直资支援计划]
我第一次尝试Worklight设备SSO需要在application-descriptor.xml中提到安全测试
对于iPhone:
对于Android:
我终于让它工作了。我所要做的就是在应用程序描述符文件中提到安全测试
<procedure name="submitAuthentication" securityTest="wl_unprotected" />
<procedure name="getSecretData" securityTest="AuthSecurityTest"/>
<procedure name="getSecretData2" securityTest="AuthSecurityTest"/>
function onAuthRequired(headers, errorMessage){
errorMessage = errorMessage ? errorMessage : null;
return {
authStatus: "credentialsRequired",
errorMessage: errorMessage
};
}
function submitAuthentication(username, password){
if (username==="user" && password === "password"){
var userIdentity = {
userId: username,
displayName: username,
attributes: {
foo: "bar"
}
};
WL.Server.setActiveUser("AuthRealm", userIdentity);
return {
authStatus: "complete"
};
}
return onAuthRequired(null, "Invalid login credentials");
}
function getSecretData(){
return {
secretData: "Very very very very secret data"
};
}
function getSecretData2(){
return {
secretData: "Very very very very secret data222222222222222222"
};
}
function onLogout(){
WL.Logger.debug("Logged out");
}