产品/项目名称 Product/Project Name | 保密级别 Confidentiality Level |
eYou邮件系统 | 影视资源站采集api接口数据机密 |
产品/项目版本 Product/Project Version | 最后更新日期 Last Update |
8103 | 2014-09-12 |
eYou邮件系统V8接口文档
北京亿中邮信息技术有限公司
All Rights Reserved 版权所有 侵权必究
仅供内部使用
Revision Record 修订记录
Date 日期 | Revision Version 修订版本 | Change Description 修改描述 | Author 作者 |
2012-11-15 | 初稿 | 刘畅 | |
2013-10-21 | 初稿 | 王永杰 | |
2014-04-22 | 更新错误的md5值 | 傅春花 | |
2014-09-12 | 重新编辑整理文档 | 周盈妤 | |
1 API接口简介
API指eYou邮件系统所提供的接口。
调用接口流程图:
为了保证 API 调用的安全性等因素,eYouMail API 要求调用方必须持有 API KEY。
此 API KEY 需要由调用方向 eYouMail 方申请此。
eYouMail 方在接受调用方申请后,会颁发 API KEY 以及一个与之配对的 API SECRET。调用方必须记录此 API KEY 以及 API SECTET。
API KEY是API提供方(例如部署了eYou邮件系统的单位)颁发给调用方(例如需要获取eYou邮件系统数据的OA系统)的身份识别串API KEY。此API KEY事一个邮件地址格式的字符串,例如。
API提供方颁发给调用方身份识别串对应的秘钥。此API_SECRET是一个32字节的字符串,例如35c51afdb3caa33d1e9b36802c5d79b8。
API接口分为两大类: (1)用户提供SSO(单点登录)的SSO API。
(2)用于邮件资源操作的Feed API。
2 API认证概述
为保证API的安全性,防止非法的调用,识别调用者身份的合法性,在调用过程中必须先进行API认证。
认证方式的分类
API支持三种认证方式,分别是OAuth、eYouAuth和eYouSimpleAuth方式。
OAuth是符合RFC规范的标准认证方式,而eYouAuth和eYouSimpleAuth是eYou自定义的规范。
认证方式的选择
由于OAuth认证方式比较复杂,所以不建议使用OAuth认证方式,除非您的业务必须要求遵循OAuth方式认证。
eYouAuth比eYouSimpleAuth安全性更高,但是也会更复杂一些,需要先申请会话Token。如果您对API调用的安全性要求较高,那么建议您使用eYouAuth认证方式。如果您对API调用的安全性要求不是非常高(比如邮件系统部署在内网,只在内网使用),那么可以使用eYouSimpleAuth认证方式。
认证原理
API认证的原理是:调用方在调用API的同时需要附加传递认证信息(API_KEY、API_SECRET、签名等),API在接收到调用请求的同时,首先获取认证信息并进行认证,如果认证失败则给出错误提示,如果认证成功则继续处理调用请求,之后返回处理结果。
不同的认证方式传递的认证信息有所不同,有的认证方式还需要先获取一些其他的安全认证数据用来生成认证信息,例如eYouAuth认证方式需要先申请会话Token。
3 认证方法详解及示例
OAuth
标准的OAuth认证方式。详见 OAuth官方文档以及RFC5849。
eYouAuth
eyouAuth认证方式对于SSO API和Feed API两种接口稍有不同,SSO API传递认证信息是
通过HTTP GET的方式,Feed API则是通过把认证信息参数放到HTTP的Authorization头中传递。
SSO API的eYouAuth认证方法:
将如下表格中的参数以GET参数的形式传递给SSO API。
注意: 由于是通过HTTP GET方式传递认证信息参数,所以所有的参数的值都必须要进行RawUrlEncode处理。
参数名 | 参数说明 |
auth_type | 认证方式。为固定的值auth。 |
auth_key | API_KEY |
auth_timestamp | 系统当前的整数时间戳 |
auth_token | 会话Token。此会话Token需要在调用SSO API之前申请。 申请方法见 申请会话Token。 |
auth_signature | 签名。 算法:MD5(API_SECRET + auth_key + auth_timestamp + email + auth_token) |
email | SSO的目标用户的邮件地址。此参数并不是认证信息参数,但是由于在计算签名的时候需要用到,所以这这里列出。 |
SSO API 的 eYouAuth认证完整示例 |
假设如下参数的值为: API_KEY API_SECRET:35c51afdb3caa33d1e9b36802c5d79b8 Email 申请到的会话Token:nq54aHpZseNWPwxwfrklZO8uGSU= 系统当前的整数时间戳:00 计算签名=) 计算的结果:fd46a8f76c21e86811d7b22aa60339b1 此时得到HTTP GET方式传送所需的五个参数: auth_type : auth ; auth_key ; auth_timestamp : 00 ; auth_token : nq54aHpZseNWPwxwfrklZO8uGSU= ; auth_signature : fd46a8f76c21e86811d7b22aa60339b1 ; 对五个参数分别作RawUrlEncode 处理,得到如下结果: auth_type : auth ; auth_key : apitest% ; auth_timestamp : 00 ; auth_token : nq54aHpZseNWPwxwfrklZO8uGSU%3D ; auth_signature : fd46a8f76c21e86811d7b22aa60339b1 ; 那么SSO API的请求URL为: &auth_key=api%&auth_timestamp=00&auth_token=nq54aHpZseNWPwxwfrklZO8uGSU%3D&&auth_signature=fd46a8f76c21e86811d7b22aa60339b1 |
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论