写了一个 oauth 插件,用 rails3 测试通过_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > 写了一个 oauth 插件,用 rails3 测试通过

写了一个 oauth 插件,用 rails3 测试通过

 2010/11/17 22:57:30  fsword  http://fsword.javaeye.com  我要评论(0)
  • 摘要:写了一个rails3插件,便于使用oauth接入各种外部网站:地址http://github.com/fsword/oauth_side可以clonehttp://github.com/fsword/rails3app这个示例项目查看效果$catREADMEOauthSide=========对oauth库进一步进行封装,简化rails开发中与oauth相关的功能1.在config目录下添加一个oauth目录,用于存放各个网站的oauth配置信息2.添加一个controller
  • 标签:oauth插件 rails3
写了一个rails3 插件,便于使用 oauth 接入各种外部网站:
地址 http://github.com/fsword/oauth_side
可以 clone http://github.com/fsword/rails3app 这个示例项目查看效果

$ cat README

OauthSide
=========

对oauth库进一步进行封装,简化rails开发中与oauth相关的功能
1. 在 config 目录下添加一个 oauth 目录,用于存放各个网站的 oauth 配置信息
2. 添加一个 controller ,load所有oauth配置,并根据这些配置提供基于oauth的授权
3. 添加一个名为 OauthToken 的模型,用于存放用户的临时凭证(request token)和令牌凭证(access token)


Example
=======

安装插件
$ cd rails3app
$ rails plugin install git@github.com:fsword/oauth_side.git

设置oauth配置信息(以豆瓣为例)
1. 添加网站专有配置: Rails.root/config/oauth/douban.yml
2. 确保 ApplicationController 有一个 current_user 方法,返回的是当前用户的 model
3. 修改视图文件,添加一个链接 <%=link_to :controller => 'oauth', :action => 'douban' %>
[注:用户点击这个链接后,oauth controller将根据id给出的配置建立 oauth consumer ,然后发起 request_token,
用户将被302到douban网站进行oauth授权,结束后会callback回本站点,由oauth_controller的accept接受和处理]
4. 程序员指定 oauth 所对应模型,在 User 类中添加一行:
  add_oauth
[注:这条语句使得程序员可以通过 user.douban? 来判断这个用户是否批准了douban的oauth授权。
对于经过授权的用户,程序员可以通过 user.douban 获取一个 OAuth::AccessToken 对象访问douban的api]

Copyright (c) 2010 li.jianye@gmail.com, released under the MIT license
发表评论
用户名: 匿名