Tag: omn​​iauth

Magento oauth和REST api麻烦

我正在尝试将我的ruby在rails应用程序上集成到magento,我甚至做出了初始请求,获得授权,我相信我已经获得了最终令牌,但我无法确定。 以下是我的回复: (这里有很多东西,所以在我取出导入位的时候跳过去) ….. “credentials”=> {“token”=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1”, “secret”=>”8pnyogb4048toujt5rjoq26tqh50vkv5”}, “extra”=> {“access_token”=> #<OAuth::AccessToken:0x007fdd59893468 @consumer= #<OAuth::Consumer:0x007fdd5995f928 @http=#, @http_method=:post, @key=”ttuj6ok0ioziv7bcfwi8wprzqe6o4x1e”, @options= {:signature_method=>”HMAC-SHA1″, :request_token_path=>”/oauth/initiate”, :authorize_path=>”/admin/oauth_authorize”, :access_token_path=>”/oauth/token”, :proxy=>nil, :scheme=>:header, :http_method=>:post, :oauth_version=>”1.0″, :site=>”https://mymagentocart.dev”}, @secret=”b0maut2ftkg2wb3nm24t263720n7kxqa”>, @params= {:oauth_token=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1″, “oauth_token”=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1″, :oauth_token_secret=>”8pnyogb4048toujt5rjoq26tqh50vkv5”, “oauth_token_secret”=>”8pnyogb4048toujt5rjoq26tqh50vkv5″}, @secret=”8pnyogb4048toujt5rjoq26tqh50vkv5″, @token=”r8apb2rcgci9ry5hugcuiqlnwdi0evc1”>}, “oauth_token”=>”jj2dbrea7dimxwc0twibyoikxjazvs6y”, “oauth_verifier”=>”83idqmtmb76fe5axad1rf7lhfa3wqxki” ….. 我在访问令牌中看到了我的密钥和秘密: @key=”ttuj6ok0ioziv7bcfwi8wprzqe6o4x1e” @secret=”b0maut2ftkg2wb3nm24t263720n7kxqa” 当我在管理员中创建REST使用者时,这就是magento给我的东西。 然后有一堆重复的令牌和秘密,但它们都是一样的,属于“凭证”标签: “token”=>”r8apb2rcgci9ry5hugcuiqlnwdi0evc1″ “secret”=>”8pnyogb4048toujt5rjoq26tqh50vkv5” 最后,有oauth_token和oauth_verifier: “oauth_token”=>”jj2dbrea7dimxwc0twibyoikxjazvs6y” “oauth_verifier”=>”83idqmtmb76fe5axad1rf7lhfa3wqxki” 所以这是我的问题…… 我需要通过以下哪些请求直接进行身份validation而无需重新生成令牌? 在我的应用程序中,每次我发出请求时,它都会一直将我发送回magento的用户确认屏幕以进行授权。 另外,我如何请求获取我的magento用户ID,名称等…所以我可以使用此信息在rails app中生成用户? 谢谢!

单一登录与设计和OmniAuth

有很多关于使用OmniAuth和Devise能够使用facebook和twitter登录webapp的信息。 但是,我正在尝试编写自己的OAuth提供程序而不使用fb / twitter等(并且未能找到示例)。 我基本上想要有两个应用程序 – 一个UserManager,它有一个用户表,和WebApp1(以及将来可能更多)。 我希望用户能够转到WebApp1并重定向到UserMAnager以便能够登录,然后重定向回WebApp1。 我不希望WebApp1有一个用户表。 我可以指点一下吗? 在这个阶段,我相信我需要在两个应用程序中使用Devise,在WebApp1中需要OmniAuth,尽管我不是100%肯定。

新的LinkedIn权限:使用rails LinkedIn gem访问过去的职位和教育

Linkedin最近更新了他们的API,使其在某些情况下可以访问的内容限制较少,但在访问方式方面通常更明确。 特别是,您必须在omniauth构建器中具体请求您想要的数据: Rails.application.config.middleware.use OmniAuth::Builder do provider :linkedin, “consumer_key”, “consumer_secret”, :scope => ‘r_fullprofile r_emailaddress r_network’, :fields => [“id”, “email-address”, “first-name”, “last-name”, “headline”, “industry”, “picture-url”, “public-profile-url”, “location”, “connections”] end 请参阅: https : //github.com/skorks/omniauth-linkedin 与它之前的引号中的字段(所有这些都是通常可访问的配置文件信息的一部分)不同,“连接”是必须在此明确请求的结构化对象(默认情况下可以访问前面的那些)。 我对“职位”和“教育”领域更感兴趣,其中“连接”是结构化对象。 例如,头寸包含公司,头衔,开始日期,每个头寸结束日期的数据: http://developer.linkedin.com/documents/profile-fields 如何在我的omniauth构建器中为职位和教育领域提出正确的请求? 我使用旧的API密钥访问了它们,但没有使用新发布的密钥(截至8月)。 感谢帮助!

允许使用OmniAuth访问Rails Web应用程序的Curl API

我正在构建一个Rails Web应用程序。 我使用OmniAuth进行身份validation。 我想提供API访问权限,但只有在用户使用OAuth(主要通过Twitter)validation自己之后。 有什么建议从哪里开始? 编辑:根据要求添加更多上下文 不要试图成为Oauth提供者,而只是使用相同的登录令牌。 例如,您通过Twitter登录我的应用程序。 您同时拥有令牌和秘密OAuth令牌。 我想使用这些令牌来允许用户API访问该站点。 我有一个类似的问题: 从Faraday OAuth模块(从客户端)检索OAuth令牌(在服务器上)

Omniauth-facebook登录无法正常工作

当我尝试使用omniauth-facebook登录我的Rails应用程序时,我收到以下错误。 这是在localhost:3000上测试的时候: 不安全的登录被阻止:您无法从不安全的页面获取访问令牌或登录此应用程序。 尝试将页面重新加载为https:// 我在SO上看到了最近的另一篇文章 ,但Facebook似乎并没有允许我在今天创建的这个应用程序的开发者控制台中更改“为Web OAuth登录强制HTTPS”设置。 我可以更改旧应用的设置。 关于如何解决这个问题或绕过它的任何想法? 我将在生产中使用HTTPS,但只是希望能够在开发中使用localhost(http)。

如何在Ruby on Rails应用程序中拯救OAuth :: Unauthorizedexception?

如何从Ruby on Rails应用程序中从OmniAuth引发的OAuth :: Unauthorizedexception中解救出来? 显然这个: rescue_from OAuth::Unauthorized, :with => :unauthorized 将无法正常工作,因为它只捕获Rails中抛出的exception,并且此exception会被抛出到机架链中的其他位置。 在这个应用程序中,管理员(而不是我们,开发人员)为twitter和facebook配置凭据,因此有错误的可能会发生并确实发生。 当发生这种情况时,我想表明一个更好的信息“出事了”。 更新 :我还询问了omniauth谷歌小组 ,到目前为止还没有答案,但如果你正在阅读这个问题,你可能想看看它。

仅使用omniauth(twitter)登录与Devise,Rails 3,Omniauth

我有一个基于Railscasts 209,210,235和236的设置 – Twitter登录工作得很好; 但我想完全删除用户在我的应用程序本地创建帐户的能力。 换句话说,如果您想登录,则需要使用您的Twitter帐户。 我很快就不会打扰管理本地帐户(现在 – 可能会在某些时候将其添加回来)。 我真的找不到任何有关如何做到这一点的实用指针,并且使用Devise路线并且没有取得非常好的结果。 提前致谢!

如何覆盖gem依赖?

我有2个gem依赖于相互冲突的hashie版本(一个需要〜> 1.2.0而另一个需要3.3.1): Bundler could not find compatible versions for gem “hashie”: In Gemfile: restforce (>= 0) ruby depends on hashie (~> 1.2.0) ruby omniauth (>= 0) ruby depends on hashie (3.3.1) 我想保留两个gem并使用更高版本的hashie。 有没有办法覆盖其中一个gem依赖项?

设计在XHR上抛出HTTP auth并注销

我在使用OmniAuthvalidation我的Rails应用程序时遇到了很多问题。 我重新启动我的服务器并在隐身模式下打开一个新选项卡(以便清除cookie)并加载我的应用程序。 我登录,然后进入应用程序。 当我到达通过AJAX调用经过身份validation的操作的页面时,它会通过HTTP基本身份validation请求用户名和密码。 我在我的devise.rb中禁用了这个。 config.http_authenticatable = false config.http_authenticatable_on_xhr = false 当我返回上一页时,它会将我重定向到登录页面并要求登录。 当我访问不需要身份validation的页面然后返回经过身份validation的页面时,也会发生这种情况。 这令人非常沮丧。 我已经将Devise和Warden解压缩到我的vendor / gems目录中,以便我可以尝试调试它,但老实说我无法弄清楚从哪里开始。 任何帮助将非常感激。

Mendeley定制OAuth战略

Mendeley有一个很棒的API(实际上他们已经使用他们的API进行了比赛,但这个问题并不是特定的),它使用了OAuth。 我正在尝试编写允许Mendeley身份validation的策略,并且这样做有很多麻烦。 我去了/ auth / mendeley,它将我重定向到Mendeley.com,我进行了身份validation,然后它将我重定向到一个没有任何内容的页面但是这个 {“error”:“未找到使用者密钥”} 他们提到这是一个三脚OAuth,是否需要额外的步骤,而不是OAuth通常做的事情? 这是我有的: # /config/initializers/omniauth.rb module OmniAuth module Strategies # tell omniauth to load the strategy autoload :Mendeley, ‘lib/mendeley’ end end # gather oauth credentials from the yml file OAUTH = YAML.load_file(File.join(Rails.root, “config”, “oauth.yml”)) # load all the possible oauth strategies ActionController::Dispatcher.middleware.use OmniAuth::Builder do provider OmniAuth::Strategies::Mendeley, OAUTH[‘mendeley’][‘consumer_key’], OAUTH[‘mendeley’][‘consumer_secret’] end […]