Tag: omn​​iauth

Rails 3 – 使用OmniAuth设计 – 登录后重定向转到/ users / sign_in

我使用omiseuth设计用于登录Facebook用户。 我希望在登录之前登录到他们所在的页面后重定向它们。 我用过了 def after_sign_in_path_for(resource_or_scope) store_location = session[:return_to] clear_stored_location (store_location.nil?) ? “/” : store_location.to_s end 在我的应用程序控制器中,并使用此代码创建了sessions_helper def deny_access store_location redirect_to new_user_session_path end def anyone_signed_in? !current_user.nil? end private def store_location session[:return_to] = request.fullpath end def clear_stored_location session[:return_to] = nil end 并解决问题,重定向到“服务/”,我有Facebook和其他平台认证的逻辑,我已经使用了 skip_before_filter :store_location 在服务和其他控制器,我不会存储为位置。 Q1我现在遇到的问题是当我使用ajax并在模态窗口中呈现登录表单时,当用户成功登录时,它会被重定向到/ users / sign_in /。 我没有用户控制器,并试图创建一个sessions_controller.rb并添加skip_before …但它不起作用。 这是我的sign_in路线 new_user_session GET /users/sign_in(.:format) {:action=>”new”, […]

OmniAuth Google OpenID WEBrick :: HTTPStatus :: RequestURITooLarge

我使用OmniAuth允许用户使用他们的Google OpenID帐户登录。 当我尝试使用WEBrick以开发模式登录时,我收到WEBrick :: HTTPStatus :: RequestURITooLarge错误。 当我将它部署到我的rails主机时,它工作正常。 我应该使用不同的Web服务器而不是WEBrick吗?

omn​​iauth与facebook没有合作生产

我正在使用我的rails应用程序中的omniauth,我已经在facebook和twitter按钮上签名,当我在网站上放置facebook时,url提交localhost:3000,一切正常,但是当我将网站上传到heroku时并在网站URL更改为sitename.heroku.com,twiiter登录按钮工作,但Facebook按钮不起作用…

如何使用刷新令牌刷新google_oauth2访问令牌?

我有一个RoR应用程序,我使用omniauth和google_oauth2对Google进行身份validation,我要求离线访问。 如何使用刷新令牌请求当前访问令牌? 此外,如果访问令牌不再有效,我该如何刷新它? 我不希望在这种情况下有任何用户界面,当然假设授权尚未被删除。

Facebook令牌到期和续约,与考拉和omniauth-facebook

我正在编写一个Rails应用程序,它使用omniauth-facebook来针对FB对用户进行身份validation(以及为用户获取FB OAuth访问令牌)。 然后,应用程序使用Koala使用保存的OAuth令牌对FB Graph API进行各种调用。 每次用户重新进行身份validation时(通常在他们登录我的应用程序时),我都会更新已保存的令牌。 即便如此,保存的令牌也会不时到期(或以其他方式变为无效)。 在使用Koala时,防止auth失败和更新令牌的最佳做法是什么? 是否应将所有调用包装在begin / rescue块中,并使用exception处理程序对FB重新validation用户? 是否有某种方式(使用Koala)来利用此处描述的“扩展访问令牌”流程? 如果没有,是否有编写自己的代码以从Koala调用中自己提取新令牌的最佳实践?

Rails 4,Devise,Omniauth(有多个提供商)

我花了几天时间在设计和omniauth上观看RailsCasts,然后通过相关教程来设置使用这些gem的身份validation系统。 我认为RailsCasts已经过时了,试图修补其他教程的差距正在创造各种问题。 请任何人都可以建议我可以用作实施该系统的基础的当前教程。 我有单独的用户和身份validation模型(用户有许多身份validation)。 我真的很想在rails 4上使用devise和omniauth(使用CanCan for capabilities),但是在试图找到一个基本设置(使用psql作为数据库)时,我正在撕裂我的头发。

Devise,Omniauth和Facebook集成会话错误

我是Rails的新手,正在安装我的第一个集成了Facebook登录/注册的应用程序。 我关注了Ryan Bates在这里发布的RailsCastvideo: https ://stackoverflow.com/a/4954443/1302333。 我按照他的教程整合了Twitter,但是我的Facebook有问题。 当我访问http://localhost:3000/auth/facebook我收到此错误: NoMethodError in AuthenticationsController#create undefined method `serialize_into_session’ for Symbol:Class 这是完整的痕迹: devise (2.1.0) lib/devise/rails/warden_compat.rb:19:in `serialize’ warden (1.1.1) lib/warden/session_serializer.rb:25:in `store’ warden (1.1.1) lib/warden/proxy.rb:161:in `set_user’ devise (2.1.0) lib/devise/controllers/helpers.rb:124:in `sign_in’ devise (2.1.0) lib/devise/controllers/helpers.rb:236:in `sign_in_and_redirect’ app/controllers/authentications_controller.rb:11:in `create’ actionpack (3.2.6) lib/action_controller/metal/implicit_render.rb:4:in `send_action’ actionpack (3.2.6) lib/abstract_controller/base.rb:167:in `process_action’ actionpack (3.2.6) lib/action_controller/metal/rendering.rb:10:in `process_action’ actionpack (3.2.6) lib/abstract_controller/callbacks.rb:18:in `block in […]

OmniAuth +拉动推文,FB场所等

我正在使用OmniAuth + Devise允许用户使用附加到普通用户帐户的Facebook / Twitter / Gowalla / etc进行注册。 现在,当用户使用其中任何一个或他们的帐户登录时,他们所有的社交网络都附加在身份validation表中。 我需要能够从任何这些提供商中提取内容,例如他们的推文或他们的Facebook Places检查等。我知道我需要使用不同的gem,插件,无论做什么,但获得我需要的配置使用这些gem(并提出请求)让我很困惑。 我需要能够访问omniauth.rb中的提供程序配置项,因此我有API密钥和密钥等,然后我需要能够从oAuth的东西中获取令牌来发出请求。 其他gem如https://github.com/jrallison/authlogic_oauth似乎存储了oauth_token,oauth_secret和oauth_token,但OmniAuth没有。 你可能会说我对Ruby,Rails和oAuth都很陌生,所以这是一个非常具有挑战性的应用程序。 非常需要帮助。

使用Devise和Omniauth编辑用户

我正在通过Railscast实施Devise和OmniAuth(以及Devise 文档 ) – 目前,我有一个网站,访问者可以使用他们的Facebook帐户或填写表格进行注册。 但是,当通过OmniAuth注册的用户尝试编辑他们的个人资料时,我遇到了麻烦。 当用户提交对其个人资料的更改时,Devise会查找用户的当前密码,但是那些使用facebook登录的用户不知道他们的密码(他们是在用户模型中自动设置的): def self.find_for_facebook_oauth(auth, signed_in_resource=nil) user = User.where(:provider => auth.provider, :uid => auth.uid).first unless user user = User.create(first_name:auth.extra.raw_info.first_name, last_name:auth.extra.raw_info.last_name, provider:auth.provider, uid:auth.uid, email:auth.info.email, password:Devise.friendly_token[0,20] ) end user end 当用户编辑他的信息时,如果他通过OmniAuth设置了他的帐户,则该应用程序不应要求密码确认。 教程建议方便的password_required? 方法将帮助我实现这一结果。 具体来说,将此方法添加到用户模型意味着它应该仅在用户未通过OmniAuth注册时返回true(在这种情况下提供者属性将为nil): def password_required? super && provider.blank? end 因此,一段代码如: resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do […]

WEBrick:RequestURITooLarge:我应该更新或使用其他服务器吗?

我目前有: $ rails s => Booting WEBrick => Rails 3.0.9 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown server [2011-11-30 13:18:00] INFO WEBrick 1.3.1 [2011-11-30 13:18:00] INFO ruby 1.9.2 (2011-02-18) [x86_64-darwin10.8.0] [2011-11-30 13:18:00] INFO WEBrick::HTTPServer#start: pid=4204 port=3000 我遇到的问题是我使用openID进行身份validation并收到以下错误: [2011-11-30 13:18:19] ERROR WEBrick::HTTPStatus::RequestURITooLarge 在浏览器中: Request-URI Too Large WEBrick::HTTPStatus::RequestURITooLarge […]