<center id="ibzi9"><ruby id="ibzi9"></ruby></center>

<u id="ibzi9"></u>
<u id="ibzi9"><rt id="ibzi9"><menuitem id="ibzi9"></menuitem></rt></u>
<u id="ibzi9"><rt id="ibzi9"></rt></u>

教程分类
教程浏览排行

4种认证(authentication)或授权(authorization)方式

authentication 认证访问者是谁 authorization 访问权限 authentication 一般包含两个步骤,第一步,用户需要安装服务提供的授权证书,或者用户需要使用API服务中已经存储的某个账户,也可以创建一个;第二步,每次发送请求到API服务时需要带上证书,因为RESTful API 是不会记录客户端与服务端的会话,无状态限制。 有些认证技术还涉注册,客户端需要安装证书,并且按需要安装用户个人的证书,客户端需要将客户端的证书和用户证书一起携带发送请求。 Basic Authentication HTTP Basic authentication is described in RFC 2617. It’s a simple username/password scheme. 将用户名与密码进行Base64转码,但这种转码是可逆的。某些爬虫工具可能会获取这些请求信息,直接获取用户的账号和密码,如果采用HTTPS方式发送请求,每次请求和响应会被SSL加密,爬虫无法获取这些信息。另一个问题,由于API通常不能信任用户使用的客户端,如果用户在多个设备(平板、电脑、手机)中登录了这个API服务,其中一个设备出现安全问题,需要修改密码,那么其他设备也需要重新登录才行。为了解决第二个问题,需要对每个设备给予不同的证书。 OAuth OAuth 是一种授权框架,能够让应用通过HTTP 服务获取有限的访问,访问用户账号信息,例如Facebook, GitHub, DigitalOcean都采用该技术。它可以委托认证服务授权第三方应用访问自己的账号信息。OAuth2 相比OAuth 1,可以在PC端、移动端设备上使用。 OAuth 定义了四种角色: 1. 资源所属者,User, 拥有该资源的人,拥有Application所访问资源的权限。 2. 客户端, Application, 需要访问用户账号信息的应用 3. 资源服务器, API 4. 授权服务器, API OAuth 抽象版流程图 在应用(Application/Client)使用OAuth前需要在Service API 注册该应用。需要在Service中提交应用的信息:名称、网站、授权后的跳转URL。 当应用注册后,Service会发布“client credentials”客户端证书,包括client identifier 和 client secret. Client ID 是公开的字符串,提供ServiceAPI标识该应用,并且用来构建呈现给用户的授权URLs。 Client Secret用来认证Application向ServiceAPI的发起访问用户账号信息的请求,需要确保Application与API之间的隐私。 Authorization Grant (权限授予方式) 在上图的第一步中有权限授予操作。OAuth2 提供四种授予权限的方式,根据不用场景使用: 1. Authorization Code: 在服务端应用采用 2. Implicit: 移动端APP,Web应用 3. Resource Owner Password Credentials: 在可信任的应用中使用 4. Client Credential:应用访问API采用的 Authorization Code Flow 第一步,用户 访问授权请求的链接,例如 链接包含五个信息: API 授权点 client_id: client_id, redirect_uri=CALLBACK_URL response_type=code, 指定应用的授权的方式,采用authorization code grant 方式 scope=read. 指定访问的等级 第二步,授权应用后,会获取authorization code 第三步,根据code换取 token
来源:本站整理 发布时间:2019/1/31 16:30:13 浏览次数
上一篇教程:用好PowerPoint2007的重用幻灯片
下一篇教程:flash教程视频
教程评论


评论人: 验证码:
内 容:
相关教程
四柱预测图64期彩图 沧州市| 增城市| 金坛市| 盈江县| 大安市| 鹤山市| 马龙县| 台中县| 包头市| 克什克腾旗| 开鲁县| 务川| 改则县| 水富县| 灵山县| 崇义县| 无极县| 黎平县| 平远县| 七台河市| 沧源| 蓬溪县| 遵化市| 兰考县| 西和县| 台北县| http://vwr8662.co 和顺县| 济源市| 山阳县| 大洼县| 资溪县| 烟台市| 大名县| 芒康县| 平乐县| 莱阳市| 南昌市| 百色市| 诏安县| 宜章县| 金山区| 奎屯市| 浪卡子县| 天门市| 锦州市| 普兰县| 阳城县| 新丰县| 历史| 江源县| 麻城市| 和政县| 灌南县| 腾冲县| 平泉县| http://lebkgqj.tw 清河县| 丰镇市| 泰来县| 桂东县| 甘洛县| 金平| 且末县| 秦皇岛市| 乌兰浩特市| 伊春市| 庄河市| 大同县| 九龙城区| 玉龙| 理塘县| 邻水| 蚌埠市| 奉贤区| 延长县| 吉林市| 湟中县| 余干县| 尉犁县| 利津县| 伽师县| 永泰县| 黑水县| 包头市| 社旗县| 全州县| 陕西省| 屯门区| 牙克石市| 义乌市| http://ydtvif.com.cn 清水河县| 泰来县| 九台市| 凤城市| 静安区| 绩溪县| 石首市| 衢州市| 阿拉善左旗| 房产| 三穗县| 通城县| 白山市| 内丘县| 炎陵县| 西乌| 启东市| 元谋县| 万盛区| 阿克陶县| 太原市| 临湘市| 安顺市| 观塘区| 喀喇沁旗| 丽水市| 中方县| 安阳县| 黔江区| http://hwkkrt.cn 哈尔滨市| 根河市| 壶关县| 运城市| 斗六市| 阜康市| 清水县| 彩票| 永胜县| 陆川县| 泗洪县| 邢台市| 金沙县| 香河县| 台江县| 绥芬河市| 安多县| 饶河县| 汉川市| 沧源| 乌海市| 达孜县| 庄河市| 江都市| 伊川县| 元阳县| 邯郸市| 平定县| 桓台县| http://xdq2919.tw 太谷县| 灵丘县| 克东县| 方山县| 万荣县| 涞水县| 德令哈市| 班戈县| 桂平市| 兴国县| 辽阳县| 阿拉尔市| 新化县| 定襄县| 宜良县| 霞浦县| 靖远县| 余江县| 莎车县| 建瓯市| 马龙县| 原平市| 邹平县| 神农架林区| 乳源| 成安县| 徐州市| 嘉善县| http://www.0598myx.tw 大安市| 绍兴县| 井冈山市| 平南县| 南陵县| 抚顺县| 房山区| 两当县| 利川市| 绥棱县| 中西区| 丹棱县| 准格尔旗| 那坡县| 青铜峡市| 东海县| 驻马店市|