Oauth2.0开发 为什么子要提交access_token或者还有一两个其他固定参数就能识别用户身份? 小弟最近要开发对APP请求的验证接口(服务端的,不是客户端哦),一直没明白,为什么通过Oauth协议流程获取到access_token之后,接下来的操作(对用户数据的增删改查)都只需要提交一个access_token,或者还有OpenID和APPKey(这些参数的有效期都是比较长,一般几天)就能判断用户的身份进行增删改查操作,小弟不明白,万一这几个参数泄露或被窃取了,那他人(第三方)不就可以通过提交这几个参数修改用户数据了吗?小弟第一次进行类似的开发,求大家指点下,如果能有源代码就更好的,在此先谢过各位~~------解决方案--------------------
引用:
Quote: 引用:
openid是用户的唯一凭证同时关联着这个用户的所有数据,后台具体怎么实现?你指是谁的后台?用户在平台上面玩,平台肯定是能获取用户的信息,用户的需求,平台把信息给你,你根据用户的信息和需求进行反馈,给不给第三方提供接口不也是都由你做主吗?
你没明白我意思,或许是我没有阐述清楚,假设第三方已经拿到用户的访问令牌[access_token]、[OpenID]再加上第三方申请应用时获取到的身份标识[APPKey],现在第三方通过HTTP请求将这三个参数提交到腾讯API接口,腾讯后台程序通过判断这三个参数来验证用户身份,允许当前的增删改查操作。 腾讯后台程序是可以通过OpenID查找到相应的用户,这没错。我没搞懂的是腾讯后台程序怎么验证当前操作的合法性(确定是当前用户本人操作),因为这三个参数是固定不变的(有效期内),比如:A通过一些手段(HTTP监听...)获取到了B提交的这三个参数信息,那岂不是A就能通过提交这三个参数访问、修改B保存在腾讯服务器的信息了。我不是想知道腾讯后台具体是怎么去验证的,我只是想要验证的思路。
当用户通过oauth授权给第三方,第三方得到access_token之后,平台就和用户没有直接的关系了,剩下的操作都是服务器通过access_token的权限和平台进行交互。如果说access_token泄露,说明说第三方的服务器已经不安全了。在平台方能做的验证只能确保说,这个操作请求是由access_token授予的第三方应用发出,这种验证可以通过绑定应用的域名,IP,回调地址来实现
Statement: The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn