问题标签 [omniauth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
792 浏览

ruby-on-rails - 允许 Curl API 使用 OmniAuth 访问 Rails Web 应用程序

我正在构建一个 Rails 网络应用程序。我使用 OmniAuth 进行身份验证。

我想提供 API 访问,但只有在用户使用 OAuth(主要通过 twitter)对自己进行身份验证之后。

关于从哪里开始的任何建议?

编辑:根据要求添加更多上下文

不试图成为 Oauth 提供者,而只是使用相同的登录令牌。例如,您通过 twitter 登录我的应用程序。您同时拥有令牌和秘密 OAuth 令牌。我想使用这些令牌来允许用户 API 访问该站点。

我有一个类似的问题:Retrieving OAuth tokens (on server) from Faraday OAuth module (from client)

0 投票
3 回答
2471 浏览

ruby-on-rails - OmniAuth / Rails - 当你没有预料到它时,你有一个 nil 对象

我的 Rails 应用程序出现以下错误,我不知道如何调试或修复它:

AuthenticationsController#create 中的 NoMethodError

当你没想到时,你有一个 nil 对象!您可能期望 ActiveRecord::Base 的实例。评估 nil 时发生错误。[]

Rails.root:/Users/phil/Sites/travlrapp.com 应用程序跟踪 | 框架跟踪 | 全跟踪

app/controllers/authentications_controller.rb:15:in `create'

控制器是这样的:

OmniAuth 过去工作得很好,然后我把它捣碎了,试图通过支持 flickr 的 pchilton 交换到一个 fork。我通过在 gemfile 中设置 :git => 并尝试重新安装来做到这一点,但我不相信我做对了。

我现在手动删除了所有omniauth 和o-foo gem 文件,并首先安装了当前的stable (0.1.6) 和git 主副本,但所有错误都是相同的。

在这里真的很茫然,我认识的人都不知道问题出在哪里。

0 投票
3 回答
5592 浏览

ruby-on-rails - 如何指定 OmniAuth 动态要求的 Facebook 权限(又名范围)?

此问题类似于使用 OmniAuth 时如何指定我需要从用户的 Facebook 帐户获得的访问权限?但有一个警告。

我正在使用 OmniAuth 在我的网站上授权 Facebook 用户。对于常规登录/注册,要求用户提供标准 Facebook 权限是可以接受的。但是我的网站上有一项功能需要扩展权限(访问他们的 Facebook 照片)。我只想在/如果他们使用我们网站的 Facebook 照片功能时为用户请求扩展权限。

我在网上找到的关于如何为omniauth 设置facebook 权限的所有答案只需在您的OmniAuth 初始化程序中添加一个范围选项,如下所示:

但是我需要动态定义范围,这样只有当用户使用照片功能时,他们才会被要求提供照片权限,但如果他们只是第一次登录或注册,则不会。

有人知道怎么做吗?提前致谢。

0 投票
1 回答
91 浏览

ruby-on-rails - 帮助 Omniauth 和添加记录

我正在创建一个小应用程序来更好地了解 Rails,我使用了 omniauth gem 来允许用户使用 facebook 注册/登录,效果很好。

但是,例如我使用脚手架为用户添加地址,如何在两者之间建立关系?据我了解用户has_many :addresses和地址belongs_to :user,但是当用户专门为该用户添加地址时,我如何创建记录,这样当他们登录时,他们只能看到他们添加的地址?

希望这是有道理的

谢谢

韩国电信

0 投票
1 回答
322 浏览

ruby-on-rails - 在 Rails 应用程序中使用 OmniAuth 时为什么我总是遇到 Errno::ETIMEDOUT

我有一个 rails 虚拟应用程序,并且我已将 OmniAuth 添加到我的 Gemfile 中。我加了

在我的应用程序布局文件中。

我还在我的 config\initializers 文件夹中添加了 omniauth.rb 文件。

在我重新启动我的 Rails 服务器rails s并访问http://localhost:3000/auth/twitter

我总是遇到Errno::ETIMEDOUT,说Operation timed out - connect(2)

我的电脑可以同时访问 Twitter 网站。

谁能帮我这里出了什么问题?非常感谢你。

0 投票
1 回答
9143 浏览

iphone - 设计 Omniauth 和 Iphone/Android 应用程序

我已经使用 Devise 和 Omniauth 为我的 rails 应用程序设置了用户身份验证。现在我想知道我应该从哪里开始对我想要创建的 Android 和 iPhone 应用程序使用相同的身份验证。

我应该使用 /auth/facebook 的移动版本还是应该直接从应用程序发送请求?

这是一个非常普遍的问题,但我发现无处可看。

编辑:我刚刚将 Token Auth 添加到应用程序以与 RESTful api 一起使用,我只是缺少 Omniauth/Facebook-token 部分。

0 投票
2 回答
1515 浏览

ruby-on-rails - Omniauth 是否使用无效的 uri 进行 facebook 授权?

我正在关注 Railscast for Simple OmniAuth(此处为文本格式:http://asciicasts.com/episodes/241-simple-omniauth 。在我添加 Facebook 登录之前,一切正常。尝试“使用 Facebook 登录”链接时,出现以下错误。

无效的 redirect_uri:应用程序配置不允许给定 URL。

带有登录链接的页面的 URL 是“http://mluton.example.com:3000/characters/”。在我的 Facebook 应用程序的网站设置中,我将站点 URL 设置为“http://mluton.myfitv.com:3000/auth/facebook/callback/”。尾部斜杠是必需的。这是omniauth 在发出身份验证请求时将设置为回调的内容。但是,如果我查看页面上出现上述错误的 URL,我会在最后看到这一点。

redirect_uri=http%3A%2F%2Fmluton.example.com%3A3000%2Fauth%2Ffacebook%2Fcallback

没有尾随斜杠。omn​​iauth 和 Facebook 之间是否存在脱节,或者我错过了什么?有没有办法覆盖omniauth生成的默认回调url?

0 投票
1 回答
602 浏览

ruby-on-rails-3 - 使用设计和omniauth在rails 3中有用户标识字段

我有一个应用程序,它目前使用设计和omniauth 来使用gmail openID 进行身份验证。现在我想为每个用户分配一个唯一的用户 ID。所以他们仍然会使用他们的 gmail 凭据登录,但现在他们将拥有一个他们将被引用的用户 ID。

我怎样才能将它添加到我的架构中?

0 投票
2 回答
1344 浏览

ruby-on-rails - Heroku + Devise 1.2 + OmniAuth 到 GitHub = “电子邮件”列中的空值

我正在尝试设置 Devise 1.2 以允许通过 GitGub 进行用户身份验证。至于我可以使用 Cucumber 在本地对其进行测试,并剔除 GitHub OAuth,它似​​乎工作正常。但是,在我部署到 Heroku 并尝试进行身份验证后,从 GitHub 重定向回我的应用程序后出现错误。

检查 Heroku 日志,我看到的错误是......

PGError:错误:“电子邮件”列中的空值违反非空约束

显然,我要么没有从 GitHub 收到电子邮件地址,要么它在途中丢失了?

我已按照https://github.com/plataformatec/devise/wiki/OmniAuth:-Overviewhttps://github.com/plataformatec/devise/wiki/OmniAuth:--Testing-%27facebook上的说明和示例进行操作%27-signup--%5BRails-3---Cucumber---Capybara---Mongoid-%5D,但针对 GitHub 而不是 Facebook 进行了修改,参考https:// GitHub 策略的 OmniAuth 源代码github.com/intridea/omniauth/blob/master/oa-oauth/lib/omniauth/strategies/github.rb

这是我的 devise_steps.rb 文件的内容,它产生了一个通过的 Cucumber 功能:

这是我的回调处理程序:

这是我的用户模型中的 find_for_github_oauth 定义:

0 投票
2 回答
1231 浏览

facebook - 如何使用 Omniauth 在某人的 Facebook 或 Twitter 墙上写信?

我知道 Omniauth 只是用于身份验证,它并没有真正包含 FB 或 Twitter 工具。

但是,假设我的 Rails 3 应用程序使用 Omniauth,我现在在我的系统中注册了一些用户。

然后我怎么能张贴到他们的墙上?还是我需要其他类型的授权系统?

感谢您的任何指示。