V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
hdonghong
V2EX  ›  问与答

[求助] 微信公众号授权登录问题

  •  
  •   hdonghong · 2018-05-13 09:29:02 +08:00 · 1317 次点击
    这是一个创建于 2167 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景:
    [ 1.] 用户同意微信授权登录后,服务端 Java,通过 code 获取 access_token,获取用户信息,生成一个有时限的 token 存入 redis 中,返回 token。
    [ 2.] 使用拦截器拦截所有请求,获取请求 Headers 中的 token,通过这个请求的 token 与 redis 中的验证当前登录的微信用户。



    问题:
    [ 1.] 怎么让把 token 添加到每次请求 headers 中?
    [ 2.] 如第一次访问项目,假设为 localhost,此时用户点击允许授权,于是走 1,返回了 token,这个时候怎么继续回到用户原先的请求—— localhost
    2 条回复    2018-05-13 20:05:09 +08:00
    ty0716
        1
    ty0716  
       2018-05-13 09:35:50 +08:00 via iPhone
    1.将 token (或者是 openid,userid 类似的)写入 session (你愿意写入 cookie,localstorage 也行)
    2.你设置 redirect_url 时候把跳转前的 url 拼凑到 get 参数中&refer=your_url (或者你将登录前的地址写到 session 中也行),在微信跳转到你设置的地址时取出 refer 跳转
    hdonghong
        2
    hdonghong  
    OP
       2018-05-13 20:05:09 +08:00
    @ty0716 所以平常别人都是这么处理的吗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3024 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:57 · PVG 22:57 · LAX 07:57 · JFK 10:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.