问题标签 [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.
ruby-on-rails - 在rails中更改omniauth的回调URI
我想使用 Omniauth 2 gem 对用户进行身份验证,但我的问题是回调 uri 包含 nginx 使用的端口 8082,该端口隐藏在外部。这就是身份验证提供者希望将用户重定向到主机名:8082 的原因,该主机名已被删除。
我尝试重写http头,更改X-Forwarded-Port、Host、Server-Port属性(我在Rails中检查了我的请求对象,Server-Port仅包含8082端口号),但没有成功。我不想修改我的应用程序的代码,我想在网络服务器层解决它。
您知道 Rails 的任何解决方案在传递重定向 url 时认为他的端口是 80 吗?
谢谢!
android - 通过 Android HttpClient 登录 OmniAuth GAFYD 认证网站
我正在编写一个需要以编程方式连接到使用 OmniAuth gem 登录的 Ruby on Rails 网站的 Android 应用程序。身份验证提供程序是 Google Apps For Your Domain 站点。
我认为我需要做的是将登录信息传递给 GAFYD url,取回密钥或令牌,然后以某种方式将其传递给我需要从中发出请求的原始网站。
有谁知道我需要如何配置 HttpClient 来做到这一点?
ruby-on-rails - 三向omniauth认证关系。如何设置?
通过关注关于该主题的优秀Railscasts 视频,我已经在我正在开发的应用程序中实现了 facebook 和 twitter 身份验证。
到目前为止,我已经将我的用户模型与Devise连接起来,并且当用户通过它们注册时,我已经构建了我的身份验证模型并记录了身份验证提供程序。它看起来像这样:
现在,我需要做的下一件事是存储这些omniauth 提供商给我的一些数据。例如,Facebook 为他们的 Facebook 个人资料提供用户性别和 url。另一方面,与 Twitter 的连接将提供有关用户的不同信息。
这让我相信我应该有两张表,一张用于 twitter 数据 (TwitterProfile),一张用于 facebook 数据 (FacebookProfile)。
那么我应该像这样扩展我的身份验证模型吗?
我的 models/user.rb 看起来像:
但是我的身份验证模型可以属于 3 个表吗?
似乎我走错了路,因为我的身份验证模型中有多余的空间,而关系似乎过于复杂。
ruby-on-rails - 使用omniauth 进行facebook 身份验证
根据 Ryan Bates截屏视频,我正在向我的应用程序添加带有omniauth 的 Facebook 身份验证
身份验证控制器中的 create 函数存在问题。create 函数应该处理 facebook 回调(这似乎很好)。
日志文件中的错误是:
NoMethodError(nil:NilClass 的未定义方法“身份验证”)
错误是指身份验证控制器中的 create 函数中的这一行:
current_user.authentications.find_or_create_by_provider_and_uid(auth['provider'], auth['uid'])
你认为是什么问题?
谢谢,
奥德
ruby-on-rails - 如何根据环境设置 facebook 身份验证密钥?
我有一个使用omniauth 通过facebook 对访问者进行身份验证的rails 应用程序。
当您在 facebook 上注册应用程序时,您必须注册一个回调 url,一旦他们完成身份验证过程,他们将重定向到该回调 url。
由于我的生产站点托管在与我的开发环境不同的服务器上,因此我需要向 Facebook 注册 2 个不同的 url。我通过注册两个应用程序来做到这一点,一个是实时版本,一个是开发版本。
现在我当然有我的 Rails 应用程序需要使用的两个 app_id 和两个 app_secrets。
如何将 OmniAuth 设置为在开发环境中使用一组密钥,而在生产环境中使用另一组密钥?
我试图在我的 /config/environments 目录中设置我的密钥,如下所示:
然后在 /config/initializers/omniauth.rb
但我明白了
当我尝试启动开发服务器时,我猜是因为 omniauth.rb 是在 /emvironments/* 之前加载的?
我该如何设置?
编辑:这是更详细的错误消息
ruby-on-rails - Omniauth/Devise/Facebook:无法识别身份验证路由
我已经在这个问题上工作了 7 个小时,但我仍然不知道。也许你们中的一个可以帮助我。
我只是想将使用 Omniauth 的 Devise 1.2rc 的 OAuth 功能集成到我的 Rails 应用程序中。
- 我一直在使用 Devise 的本教程:
https://github.com/plataformatec/devise/wiki/OmniAuth%3A-Overview
我已经做了他们告诉你的一切...
是的,我在 devise.rb 中添加了以下行:
config.omniauth :facebook, "APP ID", "APP SECRET"
我已将 :omniauthable 添加到我的用户模型中,以及教程中描述的类函数
我已经实现了omniauth_callbacks 控制器以及回调函数,并且在我的routes.rb 中指定了omniauth_callbacks 控制器
当我运行“rake 中间件”时,它确实列出了 Omniauth 中间件:
use OmniAuth::Strategies::Facebook
我已经直接从 Git 存储库 master 分支安装了 Devise,所以它是最新的
我已经安装了 Omniauth 1.2.0.beta5,这是最新版本。在我的 Gemfile 中它说:
gem 'oa-oauth', '0.2.0.beta5', :require => 'omniauth/oauth'
我已经重新启动了服务器,显然
但是,当我尝试请求此 URL 时:
http://localhost:3000/auth/facebook
it simply says
ActionController::RoutingError (No route matches "/auth/facebook"):
/user/auth/facebook 也不起作用。
由于我很遗憾没有时间拆开整个 Omniauth 和 Devise gems 并理解其中的每一行代码,也许你们中的一个人可以告诉我问题可能是什么。
ruby-on-rails - 获取 OmniAuth 提供程序设置
我有 OmniAuth 设置来使用 Twitter,如下所示:
如何在我的应用程序的其他地方(例如在模型中)检索 Twitter 密钥和秘密的 OmniAuth 设置?
ruby-on-rails - 将omniauth添加为中间件的问题
全部 - 我正在使用 Rails 2.3.5 和 Devise。我正在尝试将 Onmiauth 集成到我的系统中。我在将其添加为中间件时遇到问题。gem 安装为由“gem list”验证。
当我尝试将 'use OmniAuth::Strategies::Twitter, 'CONSUMER_KEY', 'CONSUMER_SECRET'' 添加到我的 environment.rb 中时,我收到以下错误:
在 `activate' 中:无法为 ["oa-core-0.2.0", "omniauth-0.2.0"] 激活 rack (~> 1.1, runtime),已经为 ["actionpack- 2.3.5", "rails-2.3.5"] (Gem::LoadError)
我运行了 rake:middleware 并且它没有被列为中间件。
有任何想法吗?
ruby - Omniauth(net-ldap 需要 Ruby 版本 >= 1.8.7。)安装错误?
我正在疯狂地尝试在 Ubuntu 8.04.4 上安装omniauth。
我不断收到以下错误:
错误:安装omniauth 时出错:net-ldap 需要Ruby 版本>= 1.8.7。
所以我更新到 Ruby1.9 但错误仍然存在。知道为什么会这样吗?我认为 ruby1.8.7 是一个小版本,因此最佳实践建议迁移到 Ruby1.9。此外,更重要的是,我在任何地方都找不到 Ruby1.8.7 的副本。
编辑:::::::::::::::
我清除了宝石并卸载了 ruby。然后找到了一个 ruby1.8.7 版本,编译安装,现在效果很好。
干杯,
Slotishtype。
jquery - 如何在 Rails 应用程序中使用 jQuery 访问数据库值
我有一个使用omniauth 的rails 应用程序。并将令牌保存在我的数据库中。身份验证过程完成后,我想使用 jQuery 从omniauth 提供程序中提取数据,如何在我的 jQuery 脚本中使用例如@current_user.token?