0

我有义务使用中间件服务器(Kony Server)进行 Kony 应用程序(移动应用程序)与应用程序服务器(RESTful 服务)的通信。
服务上的身份验证是基于会话的,身份验证密钥在“POST /login”的标头中返回(实际上在 cookie 中:“Set-Cookie: session=thesupersecretkey”)。然后,每个服务方法都要求会话密钥出现在标头中以允许数据检索,否则返回 401。这就是服务的工作方式,我无法更改它。

问题

我可以在服务设计器中添加“会话”标头作为参数(例如,方法“GET /data”),在那里放置一个正确的值(我从其他地方获得,例如 Fiddler)并执行请求,我可以告诉中间件,在服务设计器中,从会话范围(中间件会话)中获取一个值,但是当执行“POST /login”时,我无法将该值放入会话中。
实际上,没有办法在中间件上获取和处理响应头。我可以在响应处理代码中检索标头,但我无法将该值保存在中间件会话中,因此无济于事。

可能的解决方案

我可以通过编程方式获取 cookie,将其保存在移动设备内存中,并在每次向服务发出请求时传递它。但我想知道这个限制是否还有其他解决方法?

感谢您的任何帮助!

4

2 回答 2

1

好的,看起来 Kony One Platform 不是很受欢迎 :) 我最终在设备端进行了服务会话管理,就像我在可能的解决方案部分中提到的那样。赞一个,大家!

于 2013-10-18T14:08:43.920 回答
0

快速打个招呼:Kony 有自己的内部论坛站点,该站点非常活跃,通常会在那里提出问题并得到解答。如果您遇到在 Stackoverflow 上找不到答案的问题/问题,请同时查看 Kony 论坛!

于 2014-02-10T16:33:40.427 回答