基于Oauth2的Services接口实践 Drupal上海聚会 2015年11月21日
关于我 Drupal经验近六年 https://www.drupal.org/user/1952394 博客:www.dplor.com QQ常用名:卡萨布兰卡
Oauth2的地位 目前最主流的认证方式,为各大互联网公司广泛采用 历经了长达一年的讨论,讨论的参与者来自业界的各个知名公司, 包括Yahoo!, Facebook, Salesforce, Microsoft, Twitter, Deutsche Telekom, Intuit, Mozilla, and Google。
Drupal 的趋势 移动端的趋势已经形成,我们只有顺应趋势。 2015年的1111:无线交易额为626亿元,无线占比68.67% 内置了services模块,以作为服务端提供者。
Services模块的介绍 Drupal平台级模块,接口开发必备。 已有介绍,不再赘言。
services几种常见认证方式及其比较 优点 缺点 session 内置的认证方式 与Drupal权限系统工作配合模切。 必须有用户,用户名和密码 api key 代码简洁,使用方便 安全性不够 灵活性不足 oauth 安全性可以,稳定 代码难写 跟不上潮流了 oauth2 主流的认证方式 安全性好 灵活的配置 可以针对不同接口设置不同权限。 学习成本稍高 不过在本次演讲之后,这个缺点也不存在了
Oauth2 server—特性介绍 基于Entity的技术架构 支持自定义scopes与clients端 的oauth2服务器 支持 implicit flow 支持openid_connect模块 与services整合支持 支持如下类型的grant type Authorization code Client credentials Refresh token Password JSON Web Token (JWT)
Oauth2 server—安装要求 Php版本 > 5.3 依赖第三方php oauth2库 oauth2-server-php 要求services版本>3.6 依赖模块:Entity API, Entity reference, X Autoload
Oauth2 server—配置
Oauth2 server—配置
Oauth2 server—配置
Oauth2 server—Services配置
Oauth2 server—配置
待解决问题 Oauth2的各种认证方式适用场景 基于oauth2的drupal用户中心(passport)
参考资料 http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html https://www.drupal.org/project/oauth2_server https://www.drupal.org/node/1938218 http://cgit.drupalcode.org/oauth2_server/tree/tests/oauth2_server.t est http://www.dplor.com/node/314
让我们再次将掌声献给Drupal 8的正式发行而努力工 作的分布在世界各地的开发者,测试者,组织者等! 谢谢! 让我们再次将掌声献给Drupal 8的正式发行而努力工 作的分布在世界各地的开发者,测试者,组织者等!