MobileFirst 登录问题

Posted

技术标签:

【中文标题】MobileFirst 登录问题【英文标题】:MobileFirst Login Issue 【发布时间】:2017-12-19 08:32:46 【问题描述】:

在 MobileFIrst 7.1.0 中使用 Formbasedauthentication (LoginModule = LDAP) 时是否需要在 submitLoginForm 之前调用 WL.Client.Login API。

IBM 文档没有提到它,但我们发现如果我们不调用它,MobileFirst Server 不会发送任何挑战。但是我们在 submitLoginForm 之前调用它,我们会收到所有挑战处理程序并从 LDAP 进行身份验证。

请指教。

【问题讨论】:

【参考方案1】:

是的。

submitLoginForm() 是客户端代码 (challengehandler) 将凭据发送到服务器的步骤。这是基于表单的登录的情况。

挑战将来自服务器,因为应用程序通过以下方式连接到服务器:

WL.Client.connect()。在这种情况下,如果应用程序受到保护,服务器会抛出挑战。

WL.Client.login(realmName)。如果这是自定义领域,则服务器会发送要处理的质询。

使用 WLResourceRequest 调用受保护的资源。服务器以质询响应。

当用户在较早的质询中输入错误凭据时

当挑战来临时,您在challengehandler 中处理它。客户端中的 handleChallenge 流程以客户端在登录表单中提交凭据并使用 API - submitLoginForm() 将其发送到服务器而结束。

【讨论】:

谢谢 vivin 所以你的意思是我们必须在 submitLoginFailure 之前调用 WL.Client.Login,但是我们需要在每次登录时调用它还是只调用一次。 不。我的意思是你应该处理来自服务器的挑战。当受保护的应用程序连接到服务器或调用受保护的资源时,您将遇到挑战。当挑战来临时,你会处理它。您不必在 submitLoginForm 之前调用 WL.Client.login()。 login() 调用将产生一个质询,您将在质询处理程序中处理该质询 - 并在您使用 submitLoginForm() 提交凭据时结束。

以上是关于MobileFirst 登录问题的主要内容,如果未能解决你的问题,请参考以下文章

如何查看 MobileFirst 旧容器的登录量 (libertyvol/sysvol)?

设置 WL.App.setServerURL 后,MobileFirst 获取访问令牌和登录没有响应

从 Mobilefirst 生成 APK 后尝试登录时出现错误 Unresponsive_Host

无法登录到 iOS 实际设备 MobileFirst 项目上的应用程序

mobilefirst 中的 SQL 适配器身份验证

Cordova Mobilefirst Android 平台无法导出登录 APK 二进制文件