2012-12-15 73 views
-1

首先,让我首先告诉你我是网络开发新手。Ruby on Rails ... Oauth?入门?

我来自C和C++的背景。网络开发目前我正在陷入深层次,而且我有点迷路,所以,如果我的一些问题有些愚蠢,我表示歉意。我已经涉足了ASP.net,但我明白它与Ruby on Rails不同。

我有我的rails环境设置,当我在浏览器中加载时,我能够看到最初的欢迎页面。这很好......但是,我需要这个页面做的第一件事是通过twitter接受Oauth登录功能。尽管我不能使用twitter gem,但这只能使用OAuth Gem来完成。

我已经通过一堆教程,他们都说我需要开始创建一个消费者的实例。通过传递配置哈希...

我在哪里编写代码,但?在我的应用程序的默认页面?或在一个配置文件或东西?

我现在完全不熟悉Ruby on Rails的布局。我会回去更详细地学习,但现在我只需要尽快完成并运行。

+0

我在最近的一个项目中做了这样的事情,但它在Github上是私有的。如果你让我知道你的Github用户名,我会邀请你加入回购,你可以看看。 –

回答

1

直接看看#235 OmniAuth Part 1OmniAuth宝石。

+0

谢谢,这正是我之后的事情。我完全熟悉编码等,我只是不确定轨道上的红宝石是如何挂在一起的。 – Slippy

1

我真的不建议至少要了解Rails的一些架构和约定,才能“只是开始运行”。了解这些,Rails会为你做很多事情。

我还没有使用OmniAuth,但我强烈建议devise - 如果您有用户支持的应用程序。按照链接中的描述进行安装。

然后你可以把下面这行代码

before_filter :authenticate_user! 

在你的应用程序控制器,它会重定向到这是由色器件产生的登录页面。

如果你不需要这个用户至上的方针,只想普遍地保护您的应用程序被看到在没有密码的情况,这可能做的伎俩:

class ApplicationController < ActionController::Base 
    # before_filter :authenticate 

    protect_from_forgery 

    protected 
    def authenticate 
    authenticate_or_request_with_http_basic do |username, password| 
     username == "put username here" && password == "put password here" 
    end 
    end 
end 

这将触发一个基本的HTTP密码请求,就像你可能从htaccess得知的一样,并将用户的输入与你在上面的变量usernamepassword中输入的内容进行比较。