0

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

我来自 C 和 C++ 背景。Web 开发我现在正陷入深渊,我有点迷茫,所以,如果我的一些问题有点愚蠢,我深表歉意。我涉足过 ASP.net,但我知道它与 Ruby on Rails 不同。

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

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

我在哪里写代码呢?在我的应用程序的默认页面上?或在配置文件或其他什么?

我现在完全不熟悉 ruby​​ on rails 中任何东西的布局。我会回去更详细地学习,但现在我只需要尽快启动并运行它。

4

2 回答 2

1

我真的建议不要在不了解 Rails 的一些架构和约定的情况下“只是启动并运行”。学习这些,Rails 会为你做很多事情。

我还没有使用过 OmniAuth,但我强烈建议您设计- 如果您有用户支持的应用程序。按照链接中的说明安装它。

然后你可以把这行代码

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 中知道的那样,并将用户的输入与您在 varsusernamepassword更高版本中输入的内容进行比较。

于 2012-12-15T16:17:15.460 回答
1

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

于 2012-12-15T14:12:38.600 回答