Ruby on Rails ...... Oauth?入门?

时间:2012-12-15 14:07:26

标签: ruby-on-rails ruby oauth-2.0

首先,让我先告诉你我是网络开发的新手。

我来自C和C ++背景。 Web开发我现在被抛到了深处,我有点失落,所以,如果我的一些问题有点愚蠢,请道歉。我已经涉足ASP.net,但我知道它与Ruby on Rails不同。

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

我有一堆教程,所有人都说我需要从创建一个消费者实例开始。通过传递配置哈希...

虽然我在哪里编写代码?在我的应用程序的默认页面上?或者在配置文件中还是什么?

我现在完全不熟悉铁轨上红宝石的任何布局。我会回去学习更多细节,但是现在我只需要尽可能快地开始运行。

2 个答案:

答案 0 :(得分:1)

直接查看#235 OmniAuth Part 1OmniAuth gem。

答案 1 :(得分: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中的内容进行比较。