twitter

    类似facebook connect的方式验证twitter oauth

    31 Mar 2010

    最近一个项目需要实现类似与uservoice一样的widget,也就是把一段javascript放到任何的网站上,然后动态生成一个iframe来显示我们网站的内容。但是碰到一个问题,在这个widget内需要允许用户使用twiiter oauth的方式登录,但是twitter oauth认证之后会使用window.top来redirect你的页面,这样会重置我们的widget,这显然是对用户很不友好的。同时,我发现facebook connect的方式可以很好的应用在我们的widget上面,因为它不会重新刷新页面。于是我想能不能用类似与facebook connet的方式,弹出一个页面来做twitter oauth的身份验证呢?显然,这是可行的。

    其实很简单的,就是弹出一个页面,在那个页面上做twitter oauth的身份认证,在返回的时候记录session,同时关闭弹出的页面,javascript的代码如下

    if (!TwitterConnect) {
      var TwitterConnect = {};
    }
    TwitterConnect.Twitter = new func...
    Read More

    Tags 


    oauth for twitter

    02 Dec 2009

    twitter是Twitter的ruby gem,它提供了两种身份验证的方法,一是oauth,二是http auth。http auth非常简单,只要提供账号和密码就可以了,而oauth就稍微复杂一些了。

    首先,你需要到http://twitter.com/oauth_clients去注册你的应用,并得到相应的consumer token和consumer secret。

    接着就可以使用twitter gem了

    def oauth
      oauth = Twitter::OAuth.new(consumer_token, consumer_secret)
      request_token = oauth.set_callback_url 'http://www.huangzhimin.com/'
      session[:rtoken] = request_token.token
      session[:rsecret] = request_token.secret
    
      redirect_to request_token.authorize_url
    end

    注意,这里除了传入consumer_token和consumer_secret之外,还设置了callback_url,它表示twitter身份验...

    Read More

    Tags