2010-04-10 62 views
7

大家好,我正在尝试学习rails,我正在开发一个应用程序,它使用Google进行登录,也用于日历数据。我目前正在配置authlogic-oauth并遇到一些问题。用谷歌配置authlogic-oauth

我一直在关注authlogic-oauth(请参阅上面的链接)插件的指南,并且我正在步骤4和5中。首先,我还在学习语言,我不确定哪里步骤4代码放在控制器:

@user_session.save do |result| 
    if result 
    flash[:notice] = "Login successful!" 
    redirect_back_or_default account_url 
    else 
    render :action => :new 
    end 
end 

其次,我试图建立第5步,实际谷歌的OAuth数据的步骤:

class UserSession < Authlogic::Session::Base 
    def self.oauth_consumer 
    OAuth::Consumer.new("*TOKEN*", "*SECRET*", 
    { :site=>"**http://google.com**", 
     :authorize_url => "*http://google.com/xxx*" }) 
    end 
end 

我不能完全肯定,我找到我需要填写的信息。我一直在阅读hxxp://code.google.com/apis/accounts/docs/OAuth_ref.html(抱歉,我只能发布一个超链接),但我只是不确定我在哪里获取所有内容以及插件为自己处理的内容。

最后,我不太确定我是如何检索日历信息的,我刚才被IRC上的某个人告知我可以。我是通过这个插件来做还是还要用另一个呢?

非常感谢!

回答

1

如何使用Google OAuth登录到您的Ruby on Rails应用程序,您可以在博客上阅读。第一段提到如何获得这些密钥。你必须使用谷歌注册你的域名。

但是,这只是登录到您的应用程序,而不是您的谷歌帐户。听起来你认为使用OAuth登录后,你可以访问所有的谷歌应用程序和谷歌保存的数据(如日历)。 OAuth服务与OpenID类似。两者都只是用于在应用中验证用户的服务(而不是注册到您的应用)。

如果您想在您的应用中使用一些Google日历数据,您可以从Googlecalendar gem,rails pluginexample开始。

+0

实际上这是不正确的。 OAuth专门用于授权,而不是身份验证。这包括对私人数据的安全访问。 Twitter(以及其他一些)只是用它来兼容身份验证方法。 http://en.wikipedia.org/wiki/OAuth – 2010-07-16 07:30:04