Restful 模式,用户调我接口。我又调了第三方接口。第三方又回调了我的接口。那我保存 session。是用户浏览器上。还是第三方应用啊。请大家指点一下。
1
otakustay 2019-02-20 10:18:14 +08:00
先说你保存 session 的目的是什么,识别用户登录还是啥的
|
3
gaius 2019-02-20 10:41:01 +08:00
编号+key
|
4
otakustay 2019-02-20 11:24:21 +08:00
@missqxy 对你来说用户的浏览器是客户端,所以客户端有 sessionid 通过 cookie 给你,你的服务里有 session 管理识别出用户
对第三方应用,你是客户端,实际的浏览器第三方是不感知的。所以你也要针对不同的用户,有一个与第三方服务打通的 sessionid,在调用第三方的时候通过 cookie 给过去,第三方有自己的 session 识别 但通常来说,第三方服务不会这样用 cookie 来做用户识别的,它肯定有其它的形式,比如 OAuth,你得研究一下第三方提供给你的接口 |
5
missqxy OP @otakustay 你可能不理解我的意思。我意思是说如果我保存 SESSION,那么 sessionid 是在用户的浏览器上,还是第三方应用上呢?还是其他答案啊
|
6
momocraft 2019-02-20 13:28:54 +08:00
先考虑一下:有 sessionid 可以做什么,你是否希望第三方应用能以完全的用户权限访问你的服务器(以及相反)
|
7
nigelvon 2019-02-20 13:30:10 +08:00
session 是手段,关键是你的目的是什么,就上面的信息来说并没有说清楚。
|
8
chinvo 2019-02-20 13:30:53 +08:00 via iPhone
如果你要识别第三方那边的回调对应的用户 session,那么你得想办法让第三方回调的时候带上用户 session id,比如回调 Url 里面放 session id,或者第三方如果支持自定义字段那么就放自定义字段里面
|