oauth2.0的个人见解

文章开始之前,先以一个小例子开始。

。。。为了避免文章开头的啰嗦,先说下脉络:概括起来,就两句话:王五要知道的张三的信息,李四知道张三的信息,王五问张三,李四得到张三的同意后,告诉了王五张三的信息。

至此,王五顺利拿到张三的信息。

例子的详细情况及其前提如下:

如下:有3个人:张三,李四,和王五。其中张三和李四的关系非常好。张三可以将很多的隐私信息都告诉李四,包括银行卡号和密码。另外,李四也确实够兄弟,李四承诺,在没有得到张三的同意,李四就是被打死也不会跟第三个人说。着重声明下:这里是个重点,在没有得到张三的同意的情况下。另外,张三和王五的关系,也挺好的。但是,一旦王五想知道张三的隐私信息,张三不会亲口跟王五说,张三只会跟王五说,你问李四吧,他也知道的,要是你真的想知道,你叫李四跟我说一声就可以了。~~~ (别紧张,就是这样的)。说到李四和王五的关系,也很好。李四信得过王五,某天,王五问道关于张三的信息,但是李四说,我跟张三承诺过,没得到他的同意,我是不会说的。某天,张三想要王五知道他的信息。好了,这时候,王五就问李四,王五对李四说,你可以告诉我了,不信,你去问张三去。这时候,李四得到张三的同意后,就和王五共享了张三的信息。  ===例子结束。

以上简单的例子,可以简单地说明了oath的大体思路。梳理下其中的关键点:

1:张三没有直接告诉王五自己的信息。

2:王五可以知道张三的信息。

3:李四信任王五

4:李四可以把张三的信息分享给王五,最重要的前提:!!!李四要得到张三的同意。

在开发中的一个例子:

微信公众平台中,有一个服务号。在该服务号中可以有许多需要根据微信使用者的信息实现的操作,比如:登陆。对比上面的例子。对应的角色如下:  张三对应着微信使用者。李四对应着微信。王五对应着微信服务号下面的系统。

简单的  “使用微信号登陆”:具体操作如下:(下面,将微信服务号下面的系统成为微系统。)

1.微信用户要登陆到微信服务号下面的系统,但是,微系统不需要微信用户输入微信号,密码等。微系统拼接了一个微信事先指定好格式的链接,

2.微信用户点击此链接,请求到了微信服务器,相当于是授权微系统可以允许该微系统使用该用户的微信信息。

3.微信将一个码值发送给微服务器。于是微系统根据这个码值向微信服务器发送请求,从而获得用户的标识,和一个令牌。从而,微系统可以在这个令牌有效的前提下,凭着用户的标识从微信服务器获取用户的信息。

名词说明:

码值:在微信公众平台开发中称为code

令牌:在微信公众平台开发中称为accessToken

用户的标识:在微信公众开发平台中称为openId

以上即为oauth的认证过程。

特性如下:

(1). 简单:不管是OAUTH服务提供者还是应用开发者,都很易于理解与使用;

(2). 安全:没有涉及到用户密钥等信息,更安全更灵活。安全一说,得看具体的实现,重点在于:主服务平台,即使在得到用户的授权之后,可以允许第三方系统共享多少信息。

(3). 开放:任何服务提供商都可以实现OAUTH,任何软件开发商都可以使用OAUTH;

最后:贴上oauth的官网:相信,有了大概的了解之后:其官网说的,就好理解多了。

http://oauth.net/2/

以上。

如有不妥之处,望轻拍。

小肖

2014.09.26

时间: 2024-11-10 17:26:46

oauth2.0的个人见解的相关文章

OAuth2.0的理解&基础

此文章是复制黏贴网上文章的,主要做自己备用着看(也加了自己的一点见解),喜欢的读者也可以看. OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版. 1. 应用场景 为了理解OAuth的适用场合,让我举一个假设的例子. 有一个"云冲印"的网站,可以将用户储存在Google的照片,冲印出来.用户为了使用该服务,必须让"云冲印"读取自己储存在Google上的照片. 问题是只有得到用户的授权,Google才会同意

微信公众平台开发—利用OAuth2.0获取微信用户基本信息

1.首先在某微信平台下配置OAuth2.0授权回调页面: 2.通过appid构造url获取微信回传code值(appid可在微信平台下找到) 1).微信不弹出授权页面url: A.code回传到页面wxProcess2.aspx,不带参数 [csharp] view plain copy Response.Redirect("https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&

基于OWIN+DotNetOpenOAuth实现OAuth2.0

这几天时间一直在研究怎么实现自己的OAuth2服务器,对于太了解OAuth原理以及想自己从零开始实现的,我建议可以参考<Apress.Pro ASP.NET Web API Security>里面的章节.最后发现其实微软在这方面也已经做了实现,所以文介绍下怎么基于OWIN来实现自己的OAuth2.0授权服务器,,以及怎么使用DotNetOpenAuth作为客户端来访问受保护的资源.  OWIN是一套specification,微软的Katana开源项目是基于OWIN标准开发的,所以本本文更准确

OAuth2.0学习(5-4)新浪开放平台-微博API-使用OAuth2.0调用API

使用OAuth2.0调用API 使用OAuth2.0调用API接口有两种方式: 1. 直接使用参数,传递参数名为 access_token URL 1 https://api.weibo.com/2/statuses/public_timeline.json?access_token=abcd 2.在header里传递,形式为在header里添加 Authorization:OAuth2空格abcd,这里的abcd假定为Access Token的值,其它接口参数正常传递即可. 注:所有的微博开放

深入理解OAuth2.0协议

1. 引言 如果你开车去酒店赴宴,你经常会苦于找不到停车位而耽误很多时间.是否有好办法可以避免这个问题呢?有的,听说有一些豪车的车主就不担心这个问题.豪车一般配备两种钥匙:主钥匙和泊车钥匙.当你到酒店后,只需要将泊车钥匙交给服务生,停车的事情就由服务生去处理.与主钥匙相比,这种泊车钥匙的使用功能是受限制的:它只能启动发动机并让车行驶一段有限的距离,可以锁车,但无法打开后备箱,无法使用车内其他设备.这里就体现了一种简单的"开放授权"思想:通过一把泊车钥匙,车主便能将汽车的部分使用功能(如

微信公众平台oauth2.0网页授权

本篇文章你将学到:在自己做的微信网站里,利用oauth2.0网页授权接口获取用户的信息(openid,姓名,性别,地区,头像等).如大转盘等游戏记录哪个微信用户获得什么奖品.H5等小游戏需要把分数与对应用户捆绑在一起等网页应用. 微信公众平台oauth2.0网页授权能干什么 它是在自己做的网站中不用用户登录来获取微信用户相关信息的,进而实现相关业务. 说明与注意 1.网页授权分为两种, 一种为只获取openid  (基本授权 snsapi_base) 一种为获取用户全部信息 (高级授权 snsa

***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权

本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息,而无需模拟登录. 在本文中,特别要注意的是有两个不同的Access Token,他们产生的方式不一样,一种是使用AppID和AppSecret获取的access_token,一种是OAuth2.0授权中产生的access_token,方倍工作室分别称为全局Access Token和授权Access

什么是“QQ登录OAuth2.0”

1. 什么是“QQ登录OAuth2.0 OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容. QQ登录OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同步,照片,日志,分享等),为了保护用户数据的安全和隐私,第三方网站访问用户数据前都需要显式的向用户征求授权.QQ登录OAuth2.0采用OAuth2.0标准协议来进行用户身份验证和获取用户授权,相对于

Senparc.Weixin.MP SDK 微信公众平台开发教程(十二):OAuth2.0说明

紧接上一篇<Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明>,这里专讲OAuth2.0. 理解OAuth2.0 首先我们通过一张图片来了解一下OAuth2.0的运作模式: 从上图我们可以看到,整个过程进行了2次"握手",最终利用授权的AccessToken进行一系列的请求,相关的过程说明如下: A:由客户端向服务器发出验证请求,请求中一般会携带这些参数 ID标识,例如appId 验证后跳转到的URL(redirectUrl) 状态参数