IBM Worklight 6.1.0.1,基于2个适配器的身份验证出现问题

时间:2014-04-07 12:46:27

标签: ibm-mobilefirst worklight-adapters worklight-security

我遇到了基于2个适配器的身份验证的问题。我的应用程序是议程(混合应用程序)。所有适配器的功能必须受到安全保护。

我的应用程序使用基于适配器的身份验证,就像在DeveloperWorks上的示例中所写。

我的第一个适配器(loginAdapter)专用于登录(移动应用程序的开头)。我开发了一个处理程序(handlerLogin,移动端),方法是isCustomResponse,handlechallenge等。这个适配器工作。 此适配器允许从登录名和密码获取userId。

一旦连接,用户就可以下载他的日程。移动设备调用另一个基于适配器的身份验证(calendarAdapter)。我有一个带方法的其他处理程序(handlerCalendar)(isCustomResponse,handlechallenge)。

当移动设备调用方法getCalendarData(受保护的方法,CalendarAdapter)时,服务器检测到用户未注册此适配器,这就是服务器通过onAuthRequired函数发送错误(结构authrequired + errorMessage)的原因。

在这一步,一切正常。

实际上,麻烦来自于,第一个处理程序(handlerLogin)捕获了这个错误,而它应该是第二个处理程序(handlerCalendar)。

鉴于它被handlerLogin捕获,isCustomResponse和handlechallenge被调用,我没有预期的结果!我不知道为什么。

为什么处理程序没有抓住它?

我验证了我的代码,变量的名称,文件等等。一切都还可以。

对于信息,我首先在CalendarLogin之前声明了handlerLogin。

你有什么想法,建议吗?

提前谢谢

1 个答案:

答案 0 :(得分:1)

看起来你使用了相同的领域。

isCustomResponse函数作业是找出此质询处理程序是否应该处理此特定请求。如果您对两个适配器使用相同的域,则2个挑战处理程序将对其作出反应。