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

请问 http://www.qq.com/?#access_token=YOUR_ACCESS_TOKEN&expires_in=3600 中'?#'是怎么回事儿?我该如何获取 access_token?

  •  
  •   Newyorkcity · 2019-08-24 08:56:29 +08:00 · 1415 次点击
    这是一个创建于 1918 天前的主题,其中的信息可能已经有所发展或是发生改变。
    request.getParameter("access_token") ?

    谢谢
    6 条回复
    lizheming
        1
    lizheming  
       2019-08-24 09:17:43 +08:00
    ? 没有太大意义,# 之后是 hash,按照规范 HTTP 请求的时候是不会带 hash 的,所以服务端获取不到。
    okwork
        2
    okwork  
       2019-08-24 09:20:32 +08:00 via Android
    @lizheming 这说明 qq.com 的 web 服务器是有自定义路由设置的?否则 qq.com 按常规 http 规范自己也参数了
    lizheming
        3
    lizheming  
       2019-08-24 09:24:44 +08:00
    @okwork 服务端拿不到可以给前端用嘛... JS 获取之后携带在之后每一个接口请求的参数里就行。浏览器按照规范发送的时候就已经不带 hash 了,所以 Server 自定义没有用。
    Newyorkcity
        4
    Newyorkcity  
    OP
       2019-08-24 09:26:22 +08:00
    @lizheming 谢谢
    这个东西出自

    https://wiki.open.qq.com/wiki/website/%E5%BC%80%E5%8F%91%E6%94%BB%E7%95%A5_Client-side#Step2.EF.BC.9A.E8.8E.B7.E5.8F.96Access_Token


    是讲网站要接入 QQ 登录功能时,在向 QQ 的功能模块发起请求成功后 QQ 按照指定的回调地址后会添上?#access_token=YOUR_ACCESS_TOKEN&expires_in=3600

    这把我看傻了,我的回调地址是 java 的一个 controller....不知道怎么获取这里的 access_token
    lizheming
        5
    lizheming  
       2019-08-24 09:30:16 +08:00   ❤️ 1
    @Newyorkcity 后面不是有特别提示么~

    > 特别提示:
    > 1. 请求时传入的 recirect_uri 必须与注册时填写的回调地址一致,用来进行第三方应用的身份验证。
    > 2. 可通过 js 方法:window.location.hash 来获取 URL 中#后的参数值,详见下面的示例代码。
    > 3. 建议用 js 设置 cookie 存储 token。
    > 4. 获取到的 access token 具有 3 个月有效期,用户再次登录时自动刷新。
    lizheming
        6
    lizheming  
       2019-08-24 09:31:32 +08:00   ❤️ 1
    @Newyorkcity 另外你看的这个是纯 JS 端的 OAuth 登录流程,如果是服务端的话应该看 https://wiki.open.qq.com/wiki/website/%E5%BC%80%E5%8F%91%E6%94%BB%E7%95%A5_Server-side 这个吧?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   993 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 19:41 · PVG 03:41 · LAX 11:41 · JFK 14:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.