首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

flask 使用 token 鉴权,怎么获取用户的上次登录时间?

  •  
  •   kayseen · 16 天前 · 1029 次点击

    如题,前后端分离,使用 token 鉴权,然后需求用户每一次登录,显示该用户的上次登录时间, 请教一下,使用 token 的话, 这个功能可以实现吗?

    15 回复  |  直到 2019-11-22 11:41:27 +08:00
        1
    Hopetree   16 天前
    我记得上次登录时间好像是记录到数据库里面的吧
        2
    bwangel   16 天前   ♥ 1
    上次登录时间和 Token 无关。

    Token 只做两件事情

    1. Token 能否被正确解码
    2. Token 是否过期

    你这个需求直接在 db 里面写一条记录就好了。
        3
    lcy630409   16 天前
    我的理解
    Token =session
    只不过 token 大多数用在禁 cookie 环境中
        4
    flyingghost   16 天前
    token 设置合理有效期,确保一次登录≈一次授权。
    那么授权 token 的时候记录一下就可以当做上一次登录时间。

    如果服务端管理 token 生命周期的话,提供合理的 token 刷新机制。
    如果 token 自描述生命周期的话,客户端一起参与实现 token/refreshtoken 机制。
        5
    cominghome   16 天前
    同意 2 楼,这需求和 token 无关,无非是 login 模块多取、多写一条数据。
        6
    yeyu123   16 天前
    playload 里多加个字段就 ok
        7
    bwangel   16 天前
    如果有这样的需求 根据登陆时间查询用户。

    那么把这个信息写在 Token 里面,查询就会非常麻烦,所以我觉得直接写 db 好一些。

    PS:登陆时间和用户活跃度无关,如果想根据用户的活跃度做一些事情,建议在开屏页里面加一个请求,记录用户的开屏时间,来表示用户的活跃度。
        8
    CallMeReznov   16 天前
    上次登录时间不是库里的吗?
    每次验证成功后更新下时间,下次验证后在更新?
        9
    hyperbin   16 天前 via Android
    @lcy630409 你理解错了
        10
    kayseen   15 天前
    @Hopetree
    @bwangel
    @lcy630409
    @flyingghost
    @cominghome
    @yeyu123
    感谢各位,应该是要写入数据的,请问一下,
    写入时机是不是用户每一次成功调用 login 接口的时候啊?
    感谢各位,应该是要写入数据的,请问一下,
    写入时机是不是用户每一次成功调用 login 接口的时候啊?
        11
    bwangel   15 天前
    @kayseen

    看你们的产品需求啊。

    “上次登录时间”从名字来看,就是每次登录的时候记录一次。

    但具体细节和你们 PM 商量啊,他要用这个时间做什么事情?这个时间什么时候记录比较好?
        12
    kayseen   15 天前
    @bwangel
    但是使用 token 的话,就不需要登录接口了呀...
    浏览器记录了 token,直接就进入了,这个时候不就没法记录了...
        13
    SjwNo1   15 天前
    鉴权成功直接更新 user 信息即可
        14
    bwangel   15 天前
    @kayseen 前端需要请求接口获取 Token 啊,在获取 Token 的接口里面记录就好了。
        15
    lolizeppelin   13 天前
    认证归认证啊,总不能把用户信息都塞 token 里吧

    查询用户信息的时候获取到上次登陆时间就是,不要做塞 token 里这种事
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2729 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 00:47 · PVG 08:47 · LAX 16:47 · JFK 19:47
    ♥ Do have faith in what you're doing.