我有义务使用中间件服务器(Kony Server)与应用程序服务器(RESTful Service)进行Kony应用程序(移动应用程序)的通信。
服务上的身份验证是基于会话的,auth密钥在“POST / login”的头文件中返回(实际上在cookie中:“Set-Cookie:session = thesupersecretkey”)。然后每个服务方法都要求会话密钥出现在标头中以允许数据检索,否则它返回401.这就是服务的工作方式,我无法改变它。
我可以在服务设计器中添加“session”标头作为参数(例如,方法“GET / data”),在那里放一个正确的值(我从其他地方获得,为exapmle Fiddler)并执行请求,我可以告诉服务设计者中间件从会话范围(中间件会话)获取值,但是当执行“POST / login”时,我无法将值放到会话中。
实际上,无法在中间件上获取和处理响应标头。我可以在响应处理代码段中检索标题,但我无法在中间件会话中保存该值,因此它无济于事。
我可以通过编程方式获取cookie,将其保存在移动设备内存中,并在每次向服务发出请求时将其传递。但是我想知道这个限制是否还有其他解决办法?
感谢您的帮助!
答案 0 :(得分:1)
好吧,看起来Kony One平台不是很受欢迎:) 我最终在设备端进行了服务会话管理,就像我在可能的解决方案部分中提到的那样。 感谢所有人!
答案 1 :(得分:0)
快速呼叫:Kony拥有自己的内部论坛网站非常活跃,通常会在那里提出问题并回答问题。如果您在Stackoverflow上遇到问题/问题,请查看Kony论坛!