目前是采用json web token这种机制,验证合法用户后返回一个toekn,然后该用户每次请求都带上这个token,最后服务器验证token是否合法。但是这样有一个弊端:token很容易让别人获取到,这样就能访问任意的api,不安全。这需要用上https来保证安全?想请教一下大家有哪些更好更安全的认证机制。
2 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
可以用上 HTTPS. 对于 token 验证的话, 可以增加一些限制, 比如 IP 范围. 用上了 HTTPS 还是有可能被劫持, 但是概率比较小, 我觉得是不用太担心的, 除非是什么不得了的网站. 用户名密码验证的话, 可以采用时间戳/验证码 + hash, 但同上, 如果用的 HTTPS 并不是很必要.
三国纷争
TA贡献1804条经验 获得超7个赞
1.开放平台?开放平台一搬用oauth验证机制。
2.一般的接口验证的话,可以发放一个secretkey给用户(secretkey可以是通过oauth验证方式发放,也可以手动发放),然后请求参数加一个sign参数,sign等于hash(secretkey+paramsStr+secretkey),服务器验证sign是否合法,这种方式不需要传输secretkey。
添加回答
举报
0/150
提交
取消