Ibm mobilefirst Worklight server,具有针对所有应用程序的LTPA身份验证请求登录

Ibm mobilefirst Worklight server,具有针对所有应用程序的LTPA身份验证请求登录,ibm-mobilefirst,worklight-server,worklight-security,Ibm Mobilefirst,Worklight Server,Worklight Security,我已将我的authenticationConfig.xml设置为以以下方式使用LTPA身份验证: 它适用于需要LTPA认证的应用程序。 但WL控制台上部署的一些应用程序不需要任何身份验证,它们只调用适配器。从浏览器(预览公共资源)上看,它们的工作原理与以前一样好,但如果我从android上运行它们,我会在Logcat上看到这些错误: 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。(全部登录到login.html页面) 它返回整个login.html页面,就像它

我已将我的authenticationConfig.xml设置为以以下方式使用LTPA身份验证:

它适用于需要LTPA认证的应用程序。 但WL控制台上部署的一些应用程序不需要任何身份验证,它们只调用适配器。从浏览器(预览公共资源)上看,它们的工作原理与以前一样好,但如果我从android上运行它们,我会在Logcat上看到这些错误:

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。(全部登录到login.html页面)

它返回整个login.html页面,就像它对需要LTPA移动测试的应用程序所做的那样,在这里您可以看到突出显示不需要安全测试的应用程序描述符.xml

有什么建议吗

编辑:这是适配器,不需要安全测试

因此,看起来您有一个使用WASLTPA安全性保护的适配器,您希望所有设备都可以访问该适配器,而不管它们是否已通过WASLTPARALM的身份验证。我认为解决方案是重新设计安全性和适配器的行为

如果希望从不需要身份验证的应用程序调用适配器,则不要使用安全域保护适配器。如果登录WASLTPARealm不是访问此适配器公开的资源的要求,那么使用领域来保护它是没有意义的

对于确实需要登录的应用程序,您应该将身份验证逻辑与适配器调用分离。您仍然可以要求客户端登录以使用应用程序和呼叫适配器,而无需通过安全测试保护适配器。有一些API可以检查用户是否登录并提示他们登录到某个领域。您不必使用适配器返回的质询来提示登录

只有当使用适配器需要登录到安全测试定义的领域时,适配器才应该受到安全测试的保护。从阅读你的文章来看,这似乎不是一个要求

From browser (PReview common resource) they work as well as before, but if i run them from my android i get those error on Logcat

我有一种强烈的感觉,在你的浏览器中,你有一个LTPA令牌,这就是为什么这是从一个没有登录到LTPA领域的应用程序工作的原因。尝试清除Cookie并再次尝试进行确认。

这意味着您没有LTPA令牌,因此您必须再次登录,但应用程序不希望它必须再次登录,因此它不知道如何处理它。您的应用程序中是否有LTPA质询处理程序?请验证这一点,因为我怀疑您不知道,这就是为什么它不知道如何处理LTPA。嗨,丹尼尔,谢谢您的回复。也许我没有解释清楚我的问题是什么。当我需要我的应用程序通过WASLTPA系统使用登录时,我可以毫无问题地使用它,只需在我的application-descriptor.xml中放置一个securityTest。问题是对于不需要任何登录的应用程序,因此它们永远不会获得LTPA令牌。使用这种authenticationConfig.xml,我似乎总是需要在应用程序中输入一个登录名来获取令牌。我希望这类应用程序保持不“安全”。您的适配器描述符中是否为过程定义了安全测试?谢谢。对于浏览器,您是对的,LTPA令牌已经设置好,因此可以正常工作。但适配器不需要任何安全测试,但仍然无法从不需要登录的应用程序访问。这是因为您的服务器的整个WAR文件都使用全局安全保护。这意味着向服务器发出的任何请求都将需要LTPA令牌,而不管它是要向worklight还是服务器上的任何其他对象发出。您可以选择对每个请求都要求LTPA身份验证,或者在WAS服务器上禁用全局身份验证,并且只要求对worklight WAR上的特定资源进行身份验证。这在LTPA文件中称为“选项2”。