【发布时间】:2014-08-16 15:22:07
【问题描述】:
已经使用 express、socket.io 和基于令牌的 jwt 身份验证设置了一个测试服务器
看过这个教程 https://auth0.com/blog/2014/01/15/auth-with-socket-io/
本教程在服务器端记录解码后的令牌
console.log(socket.handshake.decoded_token.email, 'connected');
但是当我尝试记录 socket.handshake.decoded_token 时,变量未定义。socket.handshake 不包含任何带有解码令牌的变量
所以.. 我尝试谷歌如何解码令牌并找到此页面 https://developers.google.com/wallet/digital/docs/jwtdecoder
我粘贴了公共令牌,脚本在没有 jwtSecret 的情况下解码了令牌!?嗯……然后我在想……如果脚本可以在没有秘密的情况下解码令牌,那怎么可能安全!?
作为身份验证返回给客户端的公共令牌
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MSwibmFtZSI6ImNsYXJrIiwiZW1haWwiOiJjbGFya0BlbGVjdHJvYmVhdC5kayIsImlhdCI6MTQwMzczMTkyMSwiZXhwIjoxNDAzNzM1NTIxfQ.mVFymk6gKBPmcVObB_3ydqbJTlcv4eVNYBcahsjg0g8
【问题讨论】: