`
fsword
  • 浏览: 168403 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

写了一个 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
1
0
分享到:
评论
1 楼 qichunren 2010-11-01  
先mark一下,我今天有空试试。谢谢

相关推荐

    Rails 3 in Action

    第三章介绍了如何基于 Rails 构建一个真实的 Web 应用程序。这包括了从需求分析到设计、开发、测试和部署的全过程。 - **需求分析**:明确项目的目标和范围。 - **架构设计**:定义应用的架构和模块划分。 - **...

    Rails上的API:使用Rails构建REST APIAPIs on Rails: Building REST APIs with Rails

    通过以上步骤,我们可以构建出一个基本可用的RESTful API。当然,在实际项目中还需要考虑更多细节,比如错误处理、性能优化等方面。Rails的强大之处在于它提供了一套完整的解决方案,让开发者能够专注于业务逻辑本身...

    Ruby-robinhoodonrails一个基于RubyonRails的Web仪表盘

    Ruby-on-Rails是一个非常流行的开源Web应用程序框架,它基于Ruby编程语言,用于构建高效、优雅的Web应用。在这个特定的项目“Ruby-robinhood-onrails”中,开发者创建了一个基于Ruby on Rails的Web仪表盘,专门与...

    java开源包3

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包8

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包11

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包1

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包2

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包6

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包5

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包10

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包4

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包7

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包9

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    java开源包101

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    Java资源包01

    JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (&lt;jcaptcha:image label="Type the text "/&gt; ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...

    资源专区-课程设计-编程作业-Ruby开发-高校固定资产管理系统

    在本资源包中,我们关注的是一个针对高校的固定资产管理系统,该系统采用了Ruby编程语言进行开发。Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力而受到开发者喜爱。在课程设计...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

    PG6301 Web 开发和 API 设计课程代码

    【PG6301 Web 开发与API设计课程代码】是一个涵盖了Web开发核心技术和API设计实践的教育资源。这个课程可能包括了HTML、CSS、JavaScript基础,以及更高级的主题如前端框架(如React或Vue.js)、后端开发(如Node.js...

    《51商城》程序.zip

    在这个压缩包中,我们很可能会找到用于构建一个在线购物平台的各种组件,包括但不限于前端用户界面、后端服务器逻辑、数据库脚本、配置文件以及可能的第三方库和插件。下面将详细探讨与《51商城》程序相关的知识点。...

Global site tag (gtag.js) - Google Analytics