Restful api认证机制的问题

发布于 2022-09-01 05:21:28 字数 175 浏览 16 评论 0

目前是采用json web token这种机制,验证合法用户后返回一个toekn,然后该用户每次请求都带上这个token,最后服务器验证token是否合法。但是这样有一个弊端:token很容易让别人获取到,这样就能访问任意的api,不安全。

这需要用上https来保证安全?想请教一下大家有哪些更好更安全的认证机制。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

失退 2022-09-08 05:21:28

1.开放平台?开放平台一搬用oauth验证机制。
2.一般的接口验证的话,可以发放一个secretkey给用户(secretkey可以是通过oauth验证方式发放,也可以手动发放),然后请求参数加一个sign参数,sign等于hash(secretkey+paramsStr+secretkey),服务器验证sign是否合法,这种方式不需要传输secretkey。

贩梦商人 2022-09-08 05:21:28

可以用上 HTTPS. 对于 token 验证的话, 可以增加一些限制, 比如 IP 范围. 用上了 HTTPS 还是有可能被劫持, 但是概率比较小, 我觉得是不用太担心的, 除非是什么不得了的网站. 用户名密码验证的话, 可以采用时间戳/验证码 + hash, 但同上, 如果用的 HTTPS 并不是很必要.

任性一次 2022-09-08 05:21:28

可以授权后根据token来做一个简单的签名和验签

玩物 2022-09-08 05:21:28

如果是WebAPP的话,最好全程https,参照OAuth2.0,这样开发比较简单。token是有生命周期,可以有IP限制(IP跟获取token时候的IP不一致就拒绝)
如果客户端是C++、安卓之类的也可以用OAuth1.0的老办法,每一次请求都要附上secret,secret是HMAC_SHA1("神秘代码¶m1="+param1+"¶m2="+param2+"&...",access_token+"&&"+"app_token")
这样的例子比较多,谷歌一下太多了,你搭个OAuth1.0的服务器就好了,不用买证书。如果自己写SDK,估计工程量比前者大多了。

三生池水覆流年 2022-09-08 05:21:28

我现在也是使用的你这种方法。现在不考虑改变验证方法,等以后需要的时候再去修改验证方法。

这里讲了很多认证方法,希望能够帮助你。如何实现用户认证系统?

撩起发的微风 2022-09-08 05:21:28

你说的让用户带着token来请求资源,只是authorization,你还需要authentication。在用户登录之后,你可以给这个用户生成一个id token(这个也可以是JWT),然后把这个id token string当成cookie返回给客户端让他们存着,这样每次用户带着一个access token来请求资源的时候,把access token和request header里的这个id cookie对照看是不是属于同一个用户。这个方案至少解决了万一access token被别人拿到,别人还需要一个id cookie才能获取资源。但是id cookie也有可能被别人盗取。为了更好的安全性,这时候就要上HTTPS了,然后把cookie的安全性做高

尘世孤行 2022-09-08 05:21:28

使用oauth认证机制

眼泪也成诗 2022-09-08 05:21:28

楼上的几位回答都很好,现在采用OAuth2.0授权了,而OAuth2.0都是建议使用https协议加密数据的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文