我正在开发一个应用程序来创建公司日历,其中包含从其他系统中获取的数据(它是更大的J2EE应用程序的一部分,对于日历导出我使用的是ical4j)。客户要求之一是将“秘密令牌”放入日历同步链接,以便能够重置它以使以前生成的日历同步链接不可用。换句话说,它的工作原理如下:
(服务器/常量部分)+ userName +密码(随机,每用户唯一令牌)
用户复制并与他/她的手机/其他日历阅读器执行日历同步
在每次同步请求后(每次电话要求服务器进行日历同步)应用程序检查请求中的令牌是否与存储在数据库中的令牌匹配(如果令牌有效),如果是,则 - calendar(* .ics文件)归还。
例如,如果手机被盗,用户可以重置此机密令牌,并且如果手机要求服务器提供日历同步,请求和来自数据库的令牌将不同,并且不会返回日历。< / p>
我的问题是,是否有可能(iCalendar格式支持或任何其他方式)向用户显示错误(或让他们知道出错了)。我的意思是,当用户尝试将日历与错误/过期令牌同步时,他/她将看到的所有内容(在thinderbird +闪电中测试)都是相同的旧日历 - 没有错误,没有任何更新的信息等等(只有我能做到的事情) get是服务器上的日志条目)。一些半解决方案是发送空日历,但它看起来更像是'hack'而不是真正的解决方案。
感谢您的帮助。
答案 0 :(得分:0)
好吧,您可以发送401 Unauthorized HTTP响应(带有新域字符串),这可能会导致客户端再次显示密码对话框。
(如果403 Forbidden在Lightning中做任何有用的事情,我不确定。)