Tag: omn​​iauth

使用Ajax进行Omniauth授权调用

当我使用它作为链接时,我的Rails 3应用程序中的omniauth正常工作: link_to(“Connect Twitter”, “/auth/twitter”, :id => “connect-to-twitter”) 现在我想通过ajax调用’/ auth / twitter’。 但是,在请求阶段之后不会返回任何内容。 这是最后一个日志条目: Started GET “/auth/twitter” for 127.0.0.1 at 2012-10-30 17:53:02 -0700 (twitter) Request phase initiated. 这是我的ajax代码(在Coffeescript中): $(“#connect-to-twitter”).live(“click”, -> alert(‘get twitter’) $.get(‘/auth/twitter’, (data) -> alert(data) ) return false ) (我知道这个问题在此之前已被问过,但我没有看到任何真正的答案。)

main的局部变量或方法`config’:Object(NameError)

我正在关注整合Omniauth Twitter + Devise http://sourcey.com/rails-4-omniauth-using-devise-with-twitter-facebook-and-linkedin/的这篇文章,我遇到了阻碍我的问题启动我的rails应用程序。 /Users/javier/Desktop/definitive/config/environment.rb:8:in `’: undefined local variable or method `config’ for main:Object (NameError) from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require’ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `block in require’ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:232:in `load_dependency’ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/activesupport-4.1.1/lib/active_support/dependencies.rb:247:in `require’ from /Users/javier/Desktop/definitive/config.ru:3:in `block in ‘ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:55:in `instance_eval’ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:55:in `initialize’ from /Users/javier/Desktop/definitive/config.ru:in `new’ from /Users/javier/Desktop/definitive/config.ru:in `’ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:49:in `eval’ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:49:in `new_from_string’ from /Users/javier/.rvm/gems/ruby-2.1.2/gems/rack-1.5.2/lib/rack/builder.rb:40:in […]

Google OAuth 2 redirect_uri_mismatch – OmniAuth Rails应用

我在使用Rails应用validationGoogle帐户时遇到问题。 我正在使用带有Devise的omn​​iauth-google-oauth2 gem 。 我尝试访问Google帐户时始终收到此错误消息: Error: redirect_uri_mismatch The redirect URI in the request: http://localhost:3000/users/auth/google_oauth2/callback did not match a registered redirect URI 我确信我的Google控制台应用中注册的重定向URI是正确的,与请求的相同,就像这样: 那么这里的主要问题是什么?

什么是omniauth和电子邮件密码注册最佳实践?

结合Facebook登录(让我说我会使用Omniauth gem)和电子邮件+密码登录的最佳做法是什么? 我看了几个博客,看过Railscasts,我知道每个人都在使用Omnia的Devise gem。 但我正在寻找一些不同的观点。 子问题: 我正在考虑从头开始创建电子邮件+密码注册(不使用任何gem,让它保持快速和轻便)所以你有什么建议吗? 或者,如果你有特定的gem,请让它快速。 你对Oauth2gem(替代Omniauth)处理Facebook的身份validation有什么其他建议吗? 对不起,我在这里问这个基本问题,但我没有找到很多答案(我发现其中大部分是基于Devise)

访问Google Plus联系人google-api-ruby-client和omniauth-google-oauth2

我希望从Google Plus获得联系。 我在用 gem “omniauth” gem “omniauth-google-oauth2” 用于身份validation和 gem “google-api-client” 与谷歌apis通信。 到目前为止,身份validation工作正常,我在身份validation后获得了access_token 。 现在问题是我无法找到一种方法来获取我的圈子中的人员列表(我的Google Plus联系人)。 有没有办法做到这一点。 具体来说,我需要知道是否有任何gem更像谷歌的“fb_graph”? 我发现了这个伎俩 https://plus.google.com/u/0/_/socialgraph/lookup/visible/o=%5Bnull%2Cnull%2C%22_UID_%22%5D&rt=j 只需要输入“UID”,您就可以在您的圈子中获取联系人,但仅限他们的姓名和ID。 但我需要更多信息…… 工作流 client = Google::APIClient.new client.authorization.client_id = GOOGLE_CONFIG[:app_id] client.authorization.client_secret = GOOGLE_CONFIG[:app_secret] client.authorization.access_token = token plus = client.discovered_api(‘plus’) data = client.execute( plus.people.list, :collection => ‘connected’, :userId => ‘me’).data 在数据中我收到此消息 {“errors”=>[{“domain”=>”global”, “reason”=>”insufficientPermissions”, “message”=>”Insufficient Permission”}], “code”=>403, “message”=>”Insufficient Permission”}}> […]

Rails 4 Devise / Omniauth电子邮件存在于数据库错误中

我正在“撞击”我的头撞墙,试图解决这个问题。 我决定允许用户通过Twitter,Google,我的网站或Facebook登录。 问题是twitter不提供电子邮件,所以我试图通过用户名添加用户。 问题是设计不断检查电子邮件,当我不需要它时,我得到PG ::错误:错误:重复键值违反唯一约束“index_users_on_email”DETAIL:Key(email)=()已经存在。 :INSERT INTO“users”(“created_at”,“name”,“provider”,“uid”,“updated_at”,“username”)VALUES($ 1,$ 2,$ 3,$ 4,$ 5,$ 6)返回“id”。 我不知道该怎么做。 我在我的数据库中创建了一个用户名列,我确保将它添加到我的devise.rb intializer中, config.authentication_keys = [ :username ]

如何将/ auth /:provider中的omniauth路由更改为/ myapp / auth /:provider

如何更改触发omniauth的路由从/ auth /:provider到/ myapp / auth /:provider? 我也不想重定向,因为我的服务器会将不在/ myapp /中的任何内容发送到错误的位置。

仅使用omniauth进行身份validation时,在设计中配置路由

我构建了一个应用程序,允许用户使用omniauth-ldap对Active Directory进行身份validation。 如果这是新用户,则成功的身份validation将根据从AD返回的信息为其创建用户。 如果用户已存在,则只会将其登录。用户不会注册该应用程序,只需使用AD凭据登录即可。 我从不希望用户使用数据库凭据登录。 我无法弄清楚如何摆脱或改变一些路线。 例如,如果用户访问/ sign_in,他们将获得数据库身份validation。 如果用户访问sign_up,他们将被带到页面注册该站点。 我希望访问/ sign_in的用户进入LDAP登录,即/ users / auth / ldap。 我想我需要制作一个自定义路线,但我不确定我需要哪个控制器来引导用户。 我想让sign_up页面完全消失。 现在我有一个允许用户使用ldap登录的链接,其路径是user_omniauth_authorize_path(:ldap)。 我只是不确定如何将其转换为我的config / routes.rb文件理解的内容。 这就是我现在在路线上所拥有的。 devise_for :users, :controllers => { :omniauth_callbacks => “users/omniauth_callbacks” } do get ‘sign_in’, :to => ‘devise/sessions#new’, :as => :new_user_session get ‘sign_out’, :to => ‘devise/sessions#destroy’, :as => :destroy_user_session end 当我运行rake路由时,我没有看到user_omniauth_authorize_path的任何路由,我认为是因为该路由是由设计生成的。 所以我认为我需要让我的路线指向一个设计控制器,但我似乎无法找到正确的路径。

从Facebook重定向url中删除“#_ = _”

根据https://developers.facebook.com/blog/post/552/,FB Graph API现在将一个_=_哈希附加到它重定向到未设置redirect_uri时redirect_uri到的URL的末尾。 但是,即使我的调用指定了redirect_uri ,它仍然会附加它。 在FB返回我的网站后再次重定向,我怎么能让FB停止附加哈希? PS – 哈希正在破坏backbone.js,我需要它消失。 这不只是一个小小的烦恼。

适用于Apache的rails app的OpenID

我正在尝试通过Google帐户集成简单的OpenID身份validation。 我正在使用omniauth gem并在我的本地开发系统上(Win7,ruby 1.8.7-p302,rails 2.3.8,omniauth 0.1.5)一切正常。 当我将它部署到我的主机(HostGator)时,问题就显示出来了。 应用程序(mongrel)从端口12002开始,通过HostGator的cPanel,它被配置为从一个子域重写: RewriteCond %{HTTP_HOST} ^subdomain.mycompany.com$ [OR] RewriteCond %{HTTP_HOST} ^www.subdomain.mycompany.com$ RewriteRule ^(.*)$ “http\:\/\/127\.0\.0\.1\:12002\/$1” [P,L] 当浏览器进入/ auth / open_id时,它会被重定向到Google进行授权,但它的return_to地址是subdomain.mycompany.com:12002,这当然是不正确的,因为Apache不会在12002上监听。我已经设法修改了OmniAuth :: Strategies :: OpenID和Rack :: OpenID所以他们在没有端口BUT的情况下组装地址现在在用户访问确认后的最后阶段如果落入: Routing Error No route matches “/403.shtml” with {:method=>:get} 我想问题是我的网站的地址被编码(某种哈希)在其他授权请求参数,以避免