网站:开放平台
在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做Open API,提供开放API的平台本身就被称为开放平台。
通过开放平台,网站不仅能提供对Web网页的简单访问,还可以进行复杂的数据交互,将Web网站转换为与操作系统等价的平台。
第三方开发者可以基于这些已经存在的、公开的Web网站而开发丰富多彩的应用。
我将开放平台的实现分为2种:数据接口开放,功能接口开放
- 数据开放:第三方开发者通过获取网站的数据,提供更加丰富化的服务(帐号登录)
- 功能开放:通过统一的接口形式,接入该网站的内部功能(应用开发)
数以千万的用户个性化要求及服务,并不是一个公司的力量可以满足的,所以就把这些需求开放给众多的第三方开发者,不仅扩展网站的知名度,还增加网站的服务
根据所服务的主体不同,也将开放平台分为两类:
- 一类是中心化开放平台,以Facebook、百度等为代表的开放平台,平台所提供的API主要是针对自身的网站提供应用开发接口,与之对接的应用只为自身网站服务;
- 还有一种是分布式开放平台,在国外以Google提出的开放标准为代表,在国内则以Manyou为代表,这类平台在提供一个标准API后,即可将平台上的多个应用推向所有支持该标准的网站。
可以说移动开发就是建立在多个开放平台之上,既有数据开放又有功能开放。苹果是中心化开放,安卓是分布式开放。
接入功能:该功能是网站形式的开放平台基本都提供的功能服务,实现在第三方网站能使用该网站的帐号进行访问。实现方式是通过互联网的标准:开放授权(OAuth)
OAuth:OAuth是OpenID的一个补充,但是完全不同的服务。
1. OpenID 是一个去中心化的网上身份认证系统。对于支持OpenID的网站,用户不需要记住像用户名和密码这样的传统验证标记。取而代之的是,他们只需要预先在一个作为OpenID身份提供者(identity provider, IdP)的网站上注册。OpenID是去中心化的,任何网站都可以使用OpenID来作为用户登录的一种方式,任何网站也都可以作为OpenID身份提供者。OpenID既解决了问题而又不需要依赖于中心性的网站来确认数字身份。
4个对象:
-
最终用户(End User)想要向某个网站表明身份的人。
-
-
身份提供者(Identity Provider, IdP)提供OpenID URL或XRI注册和验证服务的服务提供者。
-
依赖方(Relying Party, RP)想要对最终用户的标识进行验证的网站。
2. OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。
允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要分享他们的访问许可或他们数据的所有内容。
3个对象:
-
服务提供方 (Service Provider),用户使用服务提供方来存储受保护的资源,如照片,视频,联系人列表。
-
用户 (User),存放在服务提供方的受保护的资源的拥有者。
-
客户端 (Client),要访问服务提供方资源的第三方应用,通常是网站,如提供照片打印服务的网站。在认证过程之前,客户端要向服务提供者申请客户端标识。
3. OAuth 2.0是OAuth协议的下一版本,但不向后兼容OAuth 1.0。 OAuth 2.0关注客户端开发者的简易性,同时为Web应用,桌面应用和手机,和起居室设备提供专门的认证流程。
目前大多数开放平台都开放了OAuth2.0的标准,Facebook已经只支持OAuth2.0的接入方式。