2012-12-15 98 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中輸入的內容進行比較。