如何使用bluemix服务将使用ADFS认证的响应式web应用包装成原生iOS/Android应用



下面的想法在我们的脑海里,我们不知道如何实现它。

我们有一个响应式web应用程序,它基于使用xpages的domino服务器。服务使用SAML对我们的adfs 2.0服务进行身份验证。

我们希望使用原生移动应用程序来改进移动web应用程序的两个方面:1. 使用通知提醒用户有关任务和事件的信息2. 将密码以安全的方式存储在设备上,这样就不会在每次使用应用程序时都被要求输入密码。

web应用程序保留在domino服务器上,并按原样使用。

我认为这应该是可能的,只使用bluemix服务。

但如何?

我们不想自己开发本地应用,所以apache Cordova出现在我们的脑海中。这或类似的解决方案应该使我们能够为本地移动应用程序提供应用程序存储的密码(或令牌,甚至touchID登录)和移动通知。

哪个是最好的bluemix实践?

你在这里有一个相当大的技术移动部分:-)。让我把它们拆成碎片:

  1. Domino:您需要Bluemix之外的东西来存储NSF,比如Softlayer Domino服务器。这将是解决问题的关键。
  2. 移动应用:Cordova是对的,但是更进一步看看Ionic。它在幕后使用Cordova。您可以将其添加到您的应用程序中,或使用IBM Mobile first foundation
  3. 推送通知:在Bluemix中有一个服务
  4. 认证:有一个服务

我会怎么做:

    持有nsf的Domino服务器上的
  • 部署了您编写的扩展Domino Access Services的OSGi插件,该插件可以读取/写入您对JSON感兴趣的数据。使用OpenNTF Domino Api (ODA)使您的工作更轻松
  • 配置服务器只与Bluemix通话。我会使用VPN技术,Bluemix有这方面的服务
  • 现在是有趣的部分:配置Domino以接受WAS报头作为用户身份。在前面的步骤中保护Domino是必要的,因为直接攻击它现在将允许欺骗身份。这就是为什么只有你的Bluemix VPN才能击中它
  • 现在在Bluemix中使用Liberty或Node.js(我会使用Node.js,因为passport,一个Node模块,有最多的身份验证选项)构建您的应用程序层,它使用Bluemix服务处理授权,并在与Domino交谈时设置标题
  • 确保你在移动应用中使用了一个web worker,将网络从用户体验中移除

大致就是这样。希望能有所帮助