V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
missqxy
V2EX  ›  浏览器

关于 session 的理解不深入引发的思考?

  •  
  •   missqxy · 2019-02-20 09:54:05 +08:00 · 3017 次点击
    这是一个创建于 2107 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Restful 模式,用户调我接口。我又调了第三方接口。第三方又回调了我的接口。那我保存 session。是用户浏览器上。还是第三方应用啊。请大家指点一下。

    9 条回复    2019-02-20 14:32:32 +08:00
    otakustay
        1
    otakustay  
       2019-02-20 10:18:14 +08:00
    先说你保存 session 的目的是什么,识别用户登录还是啥的
    missqxy
        2
    missqxy  
    OP
       2019-02-20 10:20:11 +08:00
    @otakustay 识别用户。
    gaius
        3
    gaius  
       2019-02-20 10:41:01 +08:00
    编号+key
    otakustay
        4
    otakustay  
       2019-02-20 11:24:21 +08:00
    @missqxy 对你来说用户的浏览器是客户端,所以客户端有 sessionid 通过 cookie 给你,你的服务里有 session 管理识别出用户
    对第三方应用,你是客户端,实际的浏览器第三方是不感知的。所以你也要针对不同的用户,有一个与第三方服务打通的 sessionid,在调用第三方的时候通过 cookie 给过去,第三方有自己的 session 识别
    但通常来说,第三方服务不会这样用 cookie 来做用户识别的,它肯定有其它的形式,比如 OAuth,你得研究一下第三方提供给你的接口
    missqxy
        5
    missqxy  
    OP
       2019-02-20 13:03:05 +08:00
    @otakustay 你可能不理解我的意思。我意思是说如果我保存 SESSION,那么 sessionid 是在用户的浏览器上,还是第三方应用上呢?还是其他答案啊
    momocraft
        6
    momocraft  
       2019-02-20 13:28:54 +08:00
    先考虑一下:有 sessionid 可以做什么,你是否希望第三方应用能以完全的用户权限访问你的服务器(以及相反)
    nigelvon
        7
    nigelvon  
       2019-02-20 13:30:10 +08:00
    session 是手段,关键是你的目的是什么,就上面的信息来说并没有说清楚。
    chinvo
        8
    chinvo  
       2019-02-20 13:30:53 +08:00 via iPhone
    如果你要识别第三方那边的回调对应的用户 session,那么你得想办法让第三方回调的时候带上用户 session id,比如回调 Url 里面放 session id,或者第三方如果支持自定义字段那么就放自定义字段里面
    missqxy
        9
    missqxy  
    OP
       2019-02-20 14:32:32 +08:00
    @momocraft 可以做验证用户信息。我不希望啊。我就是想知道如果我保存 session 后。sessionID 会在用户浏览器上还是第三方。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.