我正在尝试使用和理解 LTPA 安全性在 worklight 中的使用以及 LTPA cookie 的传播。
我能够再次验证 WAS 并使用嗅探器我可以看到 Worklight 返回了 LtpaToken2 cookie,但是当我调用 HTTP 适配器时,它调用与 Worklight 服务器在同一台机器上的其他 WAS 中的服务,该适配器确实不传播 cookie。
我想我已经设置了正确的配置。(在最后)
是否可以将工作灯服务器配置为自动将 LTPA 令牌从应用程序传播到适配器以及从适配器传播到最终服务?
如果无法自动执行此操作,我如何在适配器代码中检索 Ltpa cookie 以将其添加到 WL.Server.invokeHTTP() 方法的 headers 参数中。
这是我的安全配置:
为此,我不得不在 worklight studio 中生成的自定义战争中手动添加 login.html。
应用程序描述符:
<ipad bundleId="xxxx" securityTest="BPMApp-strong-mobile-securityTest" version="1.0">
适配器描述符:
<procedure connectAs="endUser" name="getRest" securityTest="BPMAdapter-securityTest"/>
安全配置:
<realm loginModule="WASLTPAModule" name="BPMAuthRealm">
<className>com.worklight.core.auth.ext.WebSphereFormBasedAuthenticator</className>
<parameter name="login-page" value="/login.html"/>
<parameter name="error-page" value="/login.html"/>
<parameter name="cookie-name" value="LtpaToken2"/>
</realm>
<loginModule name="WASLTPAModule" canBeResourceLogin="true" isIdentityAssociationKey="false">
<className>com.worklight.core.auth.ext.WebSphereLoginModule</className>
</loginModule>
<mobileSecurityTest name="BPMApp-strong-mobile-securityTest">
<testUser realm="BPMAuthRealm"/>
<testDeviceId provisioningType="none"/>
</mobileSecurityTest>
<customSecurityTest name="BPMAdapter-securityTest">
<test isInternalUserID="true" realm="BPMAuthRealm" isInternalDeviceID="true"/>
</customSecurityTest>
谢谢你。