Authentication 基于Worklight适配器的身份验证-直接登录

Authentication 基于Worklight适配器的身份验证-直接登录,authentication,ibm-mobilefirst,Authentication,Ibm Mobilefirst,我正在尝试使用基于适配器的身份验证开发一个简单的混合应用程序 我发现的所有示例都解释了如何执行此操作,假设我们首先调用一个安全过程来启动身份验证过程 我一直在尝试开发一个直接调用“登录适配器”的登录来执行身份验证。我尝试过使用“submitAdapterAuthentication”,但质询处理程序正在创建一个无限循环 我确实成功地将“登录适配器”作为公共过程(“WL.Client.invokeProcedure(…)”)进行了登录,但随后我无法订阅事件源,需要推送通知功能。我总是遇到下一个错误

我正在尝试使用基于适配器的身份验证开发一个简单的混合应用程序

我发现的所有示例都解释了如何执行此操作,假设我们首先调用一个安全过程来启动身份验证过程

我一直在尝试开发一个直接调用“登录适配器”的登录来执行身份验证。我尝试过使用“submitAdapterAuthentication”,但质询处理程序正在创建一个无限循环

我确实成功地将“登录适配器”作为公共过程(“WL.Client.invokeProcedure(…)”)进行了登录,但随后我无法订阅事件源,需要推送通知功能。我总是遇到下一个错误:

Can't subscribe, notification token is not updated on the server
是否可以使用基于适配器的身份验证对Worklight Server直接调用“登录适配器”进行身份验证?怎么做


我认为直接登录调用的方法很有意义,但我还没有找到任何正式的解决方案。

如果您想显式调用身份验证过程,可以使用Worklight提供的
WL.Client.login(realm,options)
API


另一个选项是为每个环境在application-descriptor.xml中添加应用程序级别的安全测试。 这将导致应用程序立即请求身份验证

<iphone securityTest="nameOfMobileTest" bundleId="com.myApp" version="1.0>
      ....
</iphone>
<android securityTest="nameOfMobileTest" version="1.0">
      ....
</android>

但是把它放在“普通”上?你的意思是可能在使用过的环境中。。。安卓、iphone等等……哦,是的,改变它。这将是一个很好的解决方案,但我有一个疑问。身份验证会在应用程序的每次启动时启动,但是当应用程序从后台打开时会发生什么?在被这个错误困扰了将近几天之后,我发现了我愚蠢的错误。。。我没有注意到我对“WL.Client.Connect”指令进行了注释。。。这就是出现“Cant's subscribe”错误的原因。我正在调用“login adapter”作为一个普通过程,它可以工作,但我将尝试使用“WL.Client.login”函数,它似乎是“正确”的。