如何看待『登出 App 时必须先访问服务端接口,并在得到正确返回后才可以成功登出』的需求? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gpra8764
V2EX    问与答

如何看待『登出 App 时必须先访问服务端接口,并在得到正确返回后才可以成功登出』的需求?

  •  
  •   gpra8764 2018-12-14 12:44:18 +08:00 2249 次点击
    这是一个创建于 2542 天前的主题,其中的信息可能已经有所发展或是发生改变。

    好像真没见过没网就无法登出的。

    如果是为了安全性考虑,有没有更好的解决方案?

    8 条回复    2018-12-14 14:27:47 +08:00
    lzvezr
        1
    lzvezr  
       2018-12-14 13:00:23 +08:00 via Android
    清空数据不就行了,使用中也经常有不退出登录就卸载软件的吧?
    dapang1221
        2
    dapang1221  
       2018-12-14 13:03:50 +08:00
    访问服务端接口清掉服务端的 token,然后客户端自己再清掉自己的 token,应该是防止 token 再被别人用吧。要么就是设置过期时间。感觉挺鸡肋的,安全性也没高多少。
    jingyulong
        3
    jingyulong  
       2018-12-14 13:08:09 +08:00
    一般都不用返回数据的,能请求服务器端,就请求。不能请求也能注销的。
    whileFalse
        4
    whileFalse  
       2018-12-14 13:11:13 +08:00
    应用场景中没网的情景多吗?
    大部分应用无需考虑在断网场景下的可用性。LZ 是在纠结啥?
    imn1
        5
    imn1  
       2018-12-14 13:27:37 +08:00   1
    猜猜这个需求的产生

    客户端有个明确的登出操作,但因为网络原因,服务端没接收,但客户操作人已经认为「安全登出」了
    如果短时间内有其他人在相同设备再操作客户端,此时网络可达,变成直接获取前一个人的帐号内容
    这个需求是想避免这种情况?

    想 100%解决应该是个难题
    gpra8764
        6
    gpra8764  
    OP
       2018-12-14 13:59:18 +08:00
    其实现在来说实现的逻辑的确是如前面几楼朋友说的一样,清除本地 token 和发送登出请求一起做,及时请求失败了也是可以登出的。

    我纠结的点在于一定要有网络时且请求成功才能登出这样的需求是不是太奇葩了。

    需求的提出方不知道是不是有安全性的考虑,这个我只是想了解下。
    imn1
        7
    imn1  
       2018-12-14 14:15:19 +08:00
    @gpra8764
    金融类的尤其一些开放设备肯定要达到这种需求,就是确认登出
    但银行之类很多都有物理卡作为检测,基本上卡不同就可以判别前卡登出了

    银行类手机 APP 我觉得也难以做到实时检测非正常登出,也是靠极短的 session 时效作为控制
    如果服务器负担不重的话,例如登入用户数量有限,都是特定用户,可以考虑一下加个长连接,用类似心跳包频繁检测,结合其他状态一起判断是否非正常登出
    TomatoYuyuko
        8
    TomatoYuyuko  
       2018-12-14 14:27:47 +08:00
    不访问网络的前提下,登出存 storage,加载页面时识别是否存在,如果存在重新获取 token 巴拉巴拉
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2186 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 01:02 PVG 09:02 LAX 17:02 JFK 20:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86