Oauth2.0开发为什么子要提交access_token或者还有一两个其他固定参数就能识别用户身份?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oauth2.0开发为什么子要提交access_token或者还有一两个其他固定参数就能识别用户身份?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含6715字,纯文字阅读大概需要10分钟。
内容图文
![Oauth2.0开发为什么子要提交access_token或者还有一两个其他固定参数就能识别用户身份?](/upload/InfoBanner/zyjiaocheng/203/42ce614fd147444990d3c2e3890e6ca0.jpg)
回复讨论(解决方案)
这些都是发生在服务器端的交互,如果被窃取了可想你的服务器已经不安全了,不过也没有关系,一个加密的openid对谁来说都没有意义。
我是不明白为什么通过这几个固有的参数就能识别用户身份,后台具体是怎样识别的,我是要开发一个给第三方使用的接口,这步不明白,没法实现
这些都是发生在服务器端的交互,如果被窃取了可想你的服务器已经不安全了,不过也没有关系,一个加密的openid对谁来说都没有意义。
我是不明白为什么通过这几个固有的参数就能识别用户身份,后台具体是怎样识别的,我是要开发一个给第三方使用的接口,这步不明白,没法实现 ,求解,卡住了
openid是用户的唯一凭证同时关联着这个用户的所有数据,后台具体怎么实现?你指是谁的后台?用户在平台上面玩,平台肯定是能获取用户的信息,用户的需求,平台把信息给你,你根据用户的信息和需求进行反馈,给不给第三方提供接口不也是都由你做主吗?
openid是用户的唯一凭证同时关联着这个用户的所有数据,后台具体怎么实现?你指是谁的后台?用户在平台上面玩,平台肯定是能获取用户的信息,用户的需求,平台把信息给你,你根据用户的信息和需求进行反馈,给不给第三方提供接口不也是都由你做主吗?
你没明白我意思,或许是我没有阐述清楚,假设第三方已经拿到用户的访问令牌[access_token]、[OpenID]再加上第三方申请应用时获取到的身份标识[APPKey],现在第三方通过HTTP请求将这三个参数提交到腾讯API接口,腾讯后台程序通过判断这三个参数来验证用户身份,允许当前的增删改查操作。
腾讯后台程序是可以通过OpenID查找到相应的用户,这没错。我没搞懂的是腾讯后台程序怎么验证当前操作的合法性(确定是当前用户本人操作),因为这三个参数是固定不变的(有效期内),比如:A通过一些手段(HTTP监听...)获取到了B提交的这三个参数信息,那岂不是A就能通过提交这三个参数访问、修改B保存在腾讯服务器的信息了。我不是想知道腾讯后台具体是怎么去验证的,我只是想要验证的思路。
openid是用户的唯一凭证同时关联着这个用户的所有数据,后台具体怎么实现?你指是谁的后台?用户在平台上面玩,平台肯定是能获取用户的信息,用户的需求,平台把信息给你,你根据用户的信息和需求进行反馈,给不给第三方提供接口不也是都由你做主吗?
你没明白我意思,或许是我没有阐述清楚,假设第三方已经拿到用户的访问令牌[access_token]、[OpenID]再加上第三方申请应用时获取到的身份标识[APPKey],现在第三方通过HTTP请求将这三个参数提交到腾讯API接口,腾讯后台程序通过判断这三个参数来验证用户身份,允许当前的增删改查操作。
腾讯后台程序是可以通过OpenID查找到相应的用户,这没错。我没搞懂的是腾讯后台程序怎么验证当前操作的合法性(确定是当前用户本人操作),因为这三个参数是固定不变的(有效期内),比如:A通过一些手段(HTTP监听...)获取到了B提交的这三个参数信息,那岂不是A就能通过提交这三个参数访问、修改B保存在腾讯服务器的信息了。我不是想知道腾讯后台具体是怎么去验证的,我只是想要验证的思路。
当用户通过oauth授权给第三方,第三方得到access_token之后,平台就和用户没有直接的关系了,剩下的操作都是服务器通过access_token的权限和平台进行交互。如果说access_token泄露,说明说第三方的服务器已经不安全了。在平台方能做的验证只能确保说,这个操作请求是由access_token授予的第三方应用发出,这种验证可以通过绑定应用的域名,IP,回调地址来实现
在oauth中,你没有办法判定操作是不是由用户本人发出的,只要第三方被授予了access_token,他就可以做任何这个token允许他做的事情,不需要用户再做任何操作,因此,在授予第三方access_token的时候,要将第三方请求的所有权限展示给用户,让用户明白授权之后第三方能做什么操作
安全问题确实是有的,但其实问题不大
1.假如用户那边造成的信息泄露,那其实该用户已经置身危险状态了。骇客根本不用获得这三个值,他完全可以窃取用户的用户名、密码(很多网站是明文传输的),直接修改用户各个网站的数据。这种情况发生用户只能自认倒霉,反正跟你没关系,他不会怪你。漏洞修复好后用户改下自己的密码就安全了。
2.腾讯给三个值就代表应用可以随意做接口允许的事情,所以其实腾讯开放给应用的接口基本没有能修改数据的,主要是获取信息的接口和一些交互用的接口,而且每日还限制了交互次数。能修改QQ密码?能修改QQ昵称? 个人资料也都不能改。这些都不能改,骇客也做不了什么事,所以没什么问题。
3.如果是服务器造成的大规模用户数据泄露,你就自认倒霉吧。肯定停服修bug了,改完了把AppKey再生成一个就安全了,再做些补偿机制什么的...
总之还是能接受的。如果这种机制是有问题的,腾讯早就换别的方式了,也轮不到你来担心。
openid是用户的唯一凭证同时关联着这个用户的所有数据,后台具体怎么实现?你指是谁的后台?用户在平台上面玩,平台肯定是能获取用户的信息,用户的需求,平台把信息给你,你根据用户的信息和需求进行反馈,给不给第三方提供接口不也是都由你做主吗?
你没明白我意思,或许是我没有阐述清楚,假设第三方已经拿到用户的访问令牌[access_token]、[OpenID]再加上第三方申请应用时获取到的身份标识[APPKey],现在第三方通过HTTP请求将这三个参数提交到腾讯API接口,腾讯后台程序通过判断这三个参数来验证用户身份,允许当前的增删改查操作。
腾讯后台程序是可以通过OpenID查找到相应的用户,这没错。我没搞懂的是腾讯后台程序怎么验证当前操作的合法性(确定是当前用户本人操作),因为这三个参数是固定不变的(有效期内),比如:A通过一些手段(HTTP监听...)获取到了B提交的这三个参数信息,那岂不是A就能通过提交这三个参数访问、修改B保存在腾讯服务器的信息了。我不是想知道腾讯后台具体是怎么去验证的,我只是想要验证的思路。
当用户通过oauth授权给第三方,第三方得到access_token之后,平台就和用户没有直接的关系了,剩下的操作都是服务器通过access_token的权限和平台进行交互。如果说access_token泄露,说明说第三方的服务器已经不安全了。在平台方能做的验证只能确保说,这个操作请求是由access_token授予的第三方应用发出,这种验证可以通过绑定应用的域名,IP,回调地址来实现
嗯,谢谢
安全问题确实是有的,但其实问题不大
1.假如用户那边造成的信息泄露,那其实该用户已经置身危险状态了。骇客根本不用获得这三个值,他完全可以窃取用户的用户名、密码(很多网站是明文传输的),直接修改用户各个网站的数据。这种情况发生用户只能自认倒霉,反正跟你没关系,他不会怪你。漏洞修复好后用户改下自己的密码就安全了。
2.腾讯给三个值就代表应用可以随意做接口允许的事情,所以其实腾讯开放给应用的接口基本没有能修改数据的,主要是获取信息的接口和一些交互用的接口,而且每日还限制了交互次数。能修改QQ密码?能修改QQ昵称? 个人资料也都不能改。这些都不能改,骇客也做不了什么事,所以没什么问题。
3.如果是服务器造成的大规模用户数据泄露,你就自认倒霉吧。肯定停服修bug了,改完了把AppKey再生成一个就安全了,再做些补偿机制什么的...
总之还是能接受的。如果这种机制是有问题的,腾讯早就换别的方式了,也轮不到你来担心。
之前粗心了,原来腾讯提供的接口只能获取数据,之前到时没注意。这么说来,却是没有安全方面的担忧,我是要开发一个提供给网站手机端APP请求的接口,手机端能通过这个接口修改用户数据。目前已经有了实现的方法。
能说明下怎么实现的吗?
内容总结
以上是互联网集市为您收集整理的Oauth2.0开发为什么子要提交access_token或者还有一两个其他固定参数就能识别用户身份?全部内容,希望文章能够帮你解决Oauth2.0开发为什么子要提交access_token或者还有一两个其他固定参数就能识别用户身份?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。