问题
最近要给公司app的短信码接口加上一个图片验证码验证,在验证码这方面我们一般选择session传值,但是在app架构,请求通常是无状态的statusless。这就导致了app在请求每个接口时,服务端生成的sessionid都是不同的,在图片验证码中生成的数据无法在短信验证码接口中使用。
解决方案
为此我们我们测试了两种解决方案
第一种
APP保存第一次app访问图片验证码接口时返回的Response Headers中的Set-Cookie PHPSESSID,在访问时将PHPSESSID传递到发送短信接口中,使用PHPSESSID将存储在数据库中的session值取出,再进行相应的操作。
第二中
保存第一次app访问图片验证码接口时返回的Response Headers中的Set-Cookie PHPSESSID,在访问发送短信接口时构造一个Request Headers,在Set-Cookie中携带PHPSESSID,此时后端可以使用正常的使用$_SESSION取值