Tag: omn​​iauth

用于noob的Rails身份validation策略

希望这不是太广泛,但经过大量的谷歌搜索,我不知道从哪里开始。 我正在寻找介绍性/ noob概述,以帮助我开始构建rails 3应用程序的身份validation实现。 基本技术要求: Rails 3应用程序托管在第三方服务(heroku)上 需要使用特定的外部私有SSO服务来validation用户。 rails应用程序中没有本地用户数据库或模型。 身份validation是基于令牌的,这意味着需要读取一个特殊的cookie,将令牌传递回SSO服务器(而不是基于rails)。 我无法控制SSO服务器或基础架构。 SSO服务器的信任是隐式的,不希望维护用户,密码或敏感信息的本地数据库。 用户信息仅在会话期间存在且SSO服务器具有权威性。 会话令牌信息是基于cookie的,并且在浏览器会话期间存在。 我正在寻找基本的示例/教程/策略/解释,通过上述设置,该过程如何在rails中工作。 我希望这个过程对于用户来说是无缝的,工作流基本上是这样的: 导航到rails app – > 将未经身份validation的用户重定向到SSO服务器 – > 通过远程SSO服务器登录和validation – > 回调/重定向到rails app – > 捕获从SSO服务器传回的用户信息,并在rails app中加载受保护的资源 策略完全是使用私有SSO资源自定义的,并且不使用良好发布的身份validation机制(换言之,不是Facebook,Google,Twitter,OAuth等)。 任何有关术语,连贯的教程,示例的帮助将不胜感激。 编辑/更新: 更具体地说,我也在寻找如何创建omniauth自定义开发人员策略的良好文档。 一些教程介绍了与任意SSO服务器通信所需的代码类型,从cookie中读取令牌,以及完成身份validation握手和回调/重定向。

使用Devise和Omniauth的路由问题

我试图让OAuth和Devise一起工作,但我得到Controller::RoutingError (No route matches “/users/auth/facebook/callback”):当试图通过Facebook进行身份validation时。 奇怪的是,Google Apps不会出现此问题。 (相同的回调路线)。 有任何想法吗? callback_controller: class Users::OmniauthCallbacksController “Facebook” sign_in_and_redirect @user, :event => :authentication else session[“devise.facebook_data”] = env[“omniauth.auth”] redirect_to new_user_registration_url end end def google_apps @user = User.find_for_google_apps_oauth(env[“omniauth.auth”], current_user) if @user.persisted? flash[:notice] = I18n.t “devise.omniauth_callbacks.success”, :kind => “Google Apps” sign_in_and_redirect @user, :event => :authentication else session[“devise.google_apps_data”] = env[“omniauth.auth”] redirect_to new_user_registration_url end end […]

如何将Devise的Rails应用程序转换为OAuth提供程序?

我有一个使用Devise进行身份validation的管理员帐户的Rails应用程序。 我正在创建第二个应用程序,并希望使用第一个应用程序进行身份validation,而不是在第二个应用程序中复制管理员帐户。 所以我的想法是将第一个应用程序转换为OAuth提供程序,以便第二个应用程序可以像OmniAuth一样充当OAuth客户端。 你以前做过这个吗? 是否有一个插件可以增加Devise的能力,使其能够充当OAuth提供者? 为了将应用转变为OAuth提供商,我需要更改/添加什么?

使用OmniAuth时,如何指定用户的Facebook帐户需要哪些访问权限?

当您使用OmniAuth通过Facebook登录Web应用程序时,这些是webapp具有的权限: Access my basic information Includes name, profile picture, gender, networks, user ID, list of friends, and any other information I’ve shared with everyone. Send me email WebApp may email me directly at email@email.com Access my data any time WebApp may access my data when I’m not using the application 然而,当您使用mini_fb gem将Web应用程序链接到Facebook时,这些是权限(必须将其指定为代码,否则格式化很奇怪): Access my basic […]

生成唯一的用户名(omniauth + devise)

我有一个带有devise + omniauth用户身份validation的应用程序。 在我的模型中,我的应用中的用户名是唯一的 。 我不想在我的应用程序中重复用户名。 Facebook中的某些用户在其个人资料中没有定义的用户名。 如果用户没有在facebook中定义的用户名,我想生成一个唯一的用户名。 例如,为了生成密码我有这个: :password => Devise.friendly_token[0,20] 如果Facebook用户在Facebook中没有用户名,我怎样才能为我的应用生成唯一的用户名? 谢谢

OmniAuth before_filter要求登录

是否可以使用OmniAuth在某些操作之前要求登录? 我记得有一个轨道广播说Devise有一个before_filter,但OmniAuth呢?

Rails 3使用omniauth获取gmail联系人?

我使用omniauth成功登录谷歌凭据? omn​​iauth提供uid作为以下链接 https://www.google.com/accounts/o8/id?id=xxxxxxxxxx 通过使用上面的链接可以获得gmail联系人或他们以任何其他方式获得gmail联系

有没有人使用omniauth与rails 2.3.8?

我是Rails的新手,我正在尝试使用带有rails 2.3.8的omniauth。 我找不到这个版本的rails的任何教程,所以我提到了http://blog.railsrumble.com/blog/2010/10/08/intridea-omniauth 。 我添加了初始化程序如下: omn​​iauth.rb OmniAuth::Strategies::Twitter = { :consumer_key => ‘xxxxxx’, :consumer_secret => ‘xxxxxx’ } 在此步骤之后,如果我尝试点击URL’/ auth / twitter’,那么我得到“No route matches”/ auth / twitter“with {:method =>:get}”。 有没有人使用omniauth与rails 2.3.8?

如何在各种环境中使用和配置omniauth与yahoo,google,facebook策略?

我正在开发一个Rails 3.2应用程序,允许用户通过多个提供商进行身份validation… Yahoo,Google,Facebook和/或Twitter。 我们正在使用omniauth,虽然我理解基本的工作流程,但我找不到一个包含文档,说明应如何配置这些特定的提供程序,以及如何设置Rails应用程序,以便我可以正确地测试/使用这些策略开发,测试和生产环境。 所以我的问题: 对于这些提供商(雅虎,谷歌,推特,脸书)中的每一个,需要哪些步骤来为omniauth单独配置每个提供商,以便它们可以用于开发,测试和生产环境? 配置Rails应用程序以正确使用每个提供程序以适应我正在运行的任何环境的最佳/推荐方法是什么? 谢谢 – wg

omn​​iauth-facebook cannnot获取电子邮件地址

我创建了新的Rails应用程序并安装了Devise和omniauth-facebook gem。 并将我的Facebook App设置为测试环境。 所以,我通过Facebook登录并注册了我的新Rails应用程序,但request.env不包含电子邮件地址.info。 返回request.env [‘omniauth.auth’] { “provider” => “facebook”, “uid” => “xxxxxxxxxxxx”, “info” => { “name” => “xxxxxxx”, “image” => “http://graph.facebook.com/xxx/picture” }, “credentials” => { “token” => “tokenstring”, “expires_at” => xxxxxxxxx, “expires” => true }, “extra” => { “raw_info” => { “name” => “xxx xxxx”, “id” => “xxxxxxxxx” } } } 它机架request.env [‘omniauth.auth’] […]