客户端和用户代理之间的区别

A-S*_*ani 16 security authentication oauth oauth-2.0

是什么之间的区别Client,User-AgentResource OwnerOAuth 2.0用户定义?

每个学期有哪些例子?(浏览器,用户......)

Mvd*_*vdD 24

用户代理是浏览器或移动应用程序,用户(资源所有者)通过该应用程序与授权服务器通信.客户端是想要访问资源服务器上的用户资源的应用程序代码.

现在,客户端可以在服务器(如Web应用程序)或设备(移动应用程序)或浏览器(JavaScript应用程序)中运行.如果客户端存在于服务器上,则它被视为机密客户端(可以保密).如果它存在于设备或浏览器中,则它是公共客户端.

您拥有什么类型的客户端,确定要使用的OAuth授权.在公共客户端上,您不能让客户端本身对授权服务器进行身份验证(仅对用户进行身份验证),因此您无法从授权服务器获取刷新令牌.


The*_*ini 13

用户代理是浏览器.

客户端是在最终用户端运行的代码,可能在浏览器中运行,也可能不在运行中运行.客户端使用浏览器(用户代理)登录.这里的想法是用户应该信任浏览器的凭据,而他们不应该信任本机客户端代码.最后的例子.

资源所有者是授权应用程序从其帐户访问资源(数据)的用户.

示例:假设您的ipad上有一个幻灯片应用程序(客户端),想要访问您的Flickr照片.这个幻灯片应用程序是由MysteriousAppDeveloper公司开发的.如果该应用程序要求您(资源所有者)提供您的Flickr凭据以便它可以访问您的照片,那么作为安全方面的用户,您将不会这样做:您没有了解该应用可能会对您的凭据做什么.幸运的是,它不是要求您提供凭据,而是提供您信任的ipad浏览器(您的用户代理)登录Flickr.您通过浏览器登录flickr,然后幻灯片显示ipad应用程序请求访问您的Flickr照片.您授予访问权限,然后该应用程序可以显示图像的幻灯片(包括具有访问限制的图像),而无需访问您的密码.你知道幻灯片应用程序没有拿到你的凭据并且对它们做了一些顽皮的事情,你晚上睡得很好.

在我看来,Oauth规范没有很好的动力.协议的重点是用户不应该信任任意应用程序的凭据.相反,你应该限制你对所有人都依赖的浏览器这样的应用程序的信任.该协议要求用户理解这一点是有效的.