首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

Oauth简易服务器端ruby兑现,仿新浪微博验证的方式

2012-10-29 
Oauth简易服务器端ruby实现,仿新浪微博验证的方式前段时间用ruby实现了新浪微博的简易Oauth的客户端,对aou

Oauth简易服务器端ruby实现,仿新浪微博验证的方式

前段时间用ruby实现了新浪微博的简易Oauth的客户端,对aouth协议有了一个大概的了解。

完成服务器端的实现,纯属自己一个的加深学习aouth的想法,嘿嘿.? 验证支持basic,oauth,xauth

?

接收下用到的controller

OauthController 负责对用户aouth验证和发放accessToken

Oauth_base_controller? 所有需要aouth验证的controller的父类,对子类的所有方法进行权限验证

一个帮助类

OauthUtil 负责字符串的加密和拼接

?

OauthController提供三个对外方法:

request_token

authorize

access_token

具体方法含义,对应oauth验证的每个url。

具体代码如下

?

?其中OauthUtil类源码如下

?涉及到的erb页面authorize.html.erb页面代码如下

?

Oauth_base_controller 主要方法为auth,为子类提供验证,具体源码如下:

?

使用方式为,继承Oauth_base_controller,然后子类中的所有方法则都要进行验证后才能访问,如:

# coding: utf-8class OauthTestController < Oauth_base_controller  def index    puts "=======================",request.headers.inspect    render :text => request.headers.inspect  endend

?

当访问这个index方法的时候,会进行oauth或basic验证,如果通过则返回客户端的请求头字符串,否则返回相应的验证失败代码

?

热点排行