GithubHelp home page GithubHelp logo

omniauth-linkedin's Introduction

OmniAuth LinkedIn

This gem contains the LinkedIn strategy for OmniAuth 1.0 .

LinkedIn uses the OAuth 1.0a flow, you can read about it here: https://developer.linkedin.com/documents/authentication

How To Use It

Usage is as per any other OmniAuth 1.0 strategy. So let's say you're using Rails, you need to add the strategy to your Gemfile along side omniauth:

gem 'omniauth'
gem 'omniauth-linkedin'

Once these are in, you need to add the following to your config/initializers/omniauth.rb:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :linkedin, "consumer_key", "consumer_secret"
end

You will obviously have to put in your key and secret, which you get when you register your app with LinkedIn (they call them API Key and Secret Key).

Now just follow the README at: https://github.com/intridea/omniauth

Additional permissions

LinkedIn recently (August 2012) provided the ability to request different permissions by specifying a scope. You can find more information on the different permissions at https://developer.linkedin.com/documents/authentication

By default, omniauth-linkedin requests the following permissions:

"r_basicprofile r_emailaddress"

This allows us to obtain enough information from LinkedIn to satisfy the requirements for the basic auth hash schema.

To change the scope, simply change your initializer to something like this:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :linkedin, "consumer_key", "consumer_secret", :scope => 'r_fullprofile r_emailaddress r_network'
end

One thing to note is the fact that when you ask for extra permissions, you will probably want to specify the array of fields that you want returned in the omniauth hash. If you don't then only the default fields (see below) will be returned which would defeat the purpose of asking for the extra permissions. So do the following:

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

We have to repeat the list of default fields in order to get the extra 'connections' field.

The list of default fields is as follows:

["id", "email-address", "first-name", "last-name", "headline", "industry", "picture-url", "public-profile-url", "location"]

To see a complete list of available fields, consult the LinkedIn documentation at https://developer.linkedin.com/documents/profile-fields

Example Auth Hash

Here's an example Auth Hash available in request.env['omniauth.auth']:

{
  "provider"=>"linkedin",
  "uid"=>"AbC123",
  "info"=> {
    "name"=>"John Doe",
    "email"=>"[email protected]",
    "nickname"=>"John Doe",
    "first_name"=>"John",
    "last_name"=>"Doe",
    "location"=>"Greater Boston Area, US",
    "description"=>"Senior Developer, Hammertech",
    "image"=> "http://m.c.lnkd.licdn.com/mpr/mprx/0_aBcD...",
    "phone"=>"null",
    "headline"=> "Senior Developer, Hammertech",
    "industry"=>"Internet",
    "urls"=>{
      "public_profile"=>"http://www.linkedin.com/in/johndoe"
    }
  },
  "credentials"=> {
    "token"=>"12312...",
    "secret"=>"aBc..."
  },
  "extra"=>
  {
    "access_token"=> {
      "token"=>"12312...",
      "secret"=>"aBc...",
      "consumer"=>nil, #<OAuth::Consumer>
      "params"=> {
        :oauth_token=>"12312...",
        :oauth_token_secret=>"aBc...",
        :oauth_expires_in=>"5183999",
        :oauth_authorization_expires_in=>"5183999",
      },
      "response"=>nil #<Net::HTTPResponse>
    },
   "raw_info"=> {
     "firstName"=>"Joe",
     "headline"=>"Senior Developer, Hammertech",
     "id"=>"AbC123",
     "industry"=>"Internet",
     "lastName"=>"Doe",
     "location"=> {"country"=>{"code"=>"us"}, "name"=>"Greater Boston Area"},
     "pictureUrl"=> "http://m.c.lnkd.licdn.com/mpr/mprx/0_aBcD...",
     "publicProfileUrl"=>"http://www.linkedin.com/in/johndoe"
    }
  }
}

Using It With The LinkedIn Gem

You may find that you want to use OmniAuth for authentication, but you want to use an API wrapper such as this one https://github.com/pengwynn/linkedin to actually make your api calls. But the LinkedIn gem provides its own way to authenticate with LinkedIn via OAuth. In this case you can do the following.

Configure the LinkedIn gem with your consumer key and secret:

LinkedIn.configure do |config|
  config.token = "consumer_key"
  config.secret = "consumer_secret"
end

Use OmniAuth as per normal to obtain an access token and an access token secret for your user. Now create the LinkedIn client and authorize it using the access token and secret that you obtained via OmniAuth:

client = LinkedIn::Client.new
client.authorize_from_access("access_token", "access_token_secret")

You can now make API calls as per normal e.g.:

client.profile
client.add_share({:comment => "blah"})

Note on Patches/Pull Requests

  • Fork the project.
  • Make your feature addition or bug fix.
  • Add tests for it. This is important so I don’t break it in a future version unintentionally.
  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
  • Send me a pull request. Bonus points for topic branches.

License

Copyright (c) 2011 by Alan Skorkin

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

omniauth-linkedin's People

Contributors

andylampert avatar bpaul avatar edgurgel avatar hundredwatt avatar kenips avatar rdsoze avatar skorks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

omniauth-linkedin's Issues

How to get information from full profile?

Thanks for this omniaouth strategy. It works great.

However, I have a small confusion when I want to read the 'Full Profile' (schools, skills, etc.) As far as I understand I would need to make an API call to get this extended information.

Now, it is here where I am a bit lost in the documentation, about how/what/where to put the access and request tokens.

I was doing a small experiment with the callback:

conn = Faraday::Connection.new('http://api.linkedin.com')
resp = conn.get " /v1/people/~", :oauth2_access_token => params[:oauth_token]
resp = conn.get " /v1/people/~", :oauth_token => token
logger.info resp.inspect

but I always get a 401 not authorized.

Do you have any hints/clarifications about what tokens can be used to access the LinkedIn API to read the full profile? Thank you very much!

Error authenticating /auth/failure?message=invalid_response

You might get his message when you upgrade the previous version omniauth to the new 1.x one.

Note that in the new version of omniauth-linkedin, linked_in is spelled as linkedin. Updating the changes in all your codes as well as database will solved the error message above.

In my case, I got the message when i try to find an existing user authentications record in which the provider is stored as linked_in(default for the previous version).

Thought I might save some time for the other developers.

Good work skorks. thank you.

No route matches [GET] "/users/auth/linked_in"

Hi , When I click to link : user_omniauth_authorize_path(:linked_in)
I have this error, twiter fb , google and yahoo run fine

My gem:

gem 'oa-openid',:require => 'openid/store/filesystem'

gem 'omniauth-twitter'
gem 'omniauth-facebook'
gem 'omniauth-linkedin'
gem 'omniauth-yammer'
gem 'omniauth-openid' ```

I config them in devise.rb 
`config.omniauth :facebook, '...', '...', :scope => 'email,user_education_history,user_work_history,offline_access'
  config.omniauth :twitter, '...', '...'
  config.omniauth :linked_in, '...', '...'
  config.omniauth :open_id, :store => OpenID::Store::Filesystem.new('/tmp'), :require => 'omniauth-openid'
  config.omniauth :open_id, :store => OpenID::Store::Filesystem.new('/tmp'), :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id', :require => 'omniauth-openid'`

In user.rb I add:
`devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable ,:omniauthable`

Did I miss some config ?

OmniAuth::Strategies::Linkedin (NameError)

Everytime I run my Rails Server im hit with this error:

`const_get': uninitialized constant OmniAuth::Strategies::Linkedin (NameError)

Traced it to the coding where we put the

provider :linkedin <API> <SECRET>

Rake error

I am getting the following error upon running rake

/home/raison/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -S rspec ./spec/omniauth/strategies/linkedin_spec.rb
/home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': no such file to load -- omniauth/strategies/oauth (LoadError)
    from /home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/raison/projects/omniauth/omniauth-linkedin/lib/omniauth/strategies/linkedin.rb:1:in `<top (required)>'
    from /home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/raison/projects/omniauth/omniauth-linkedin/lib/omniauth-linkedin.rb:2:in `<top (required)>'
    from /home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/raison/projects/omniauth/omniauth-linkedin/spec/spec_helper.rb:8:in `<top (required)>'
    from /home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/raison/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/raison/projects/omniauth/omniauth-linkedin/spec/omniauth/strategies/linkedin_spec.rb:1:in `<top (required)>'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `load'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `block in load_spec_files'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `map'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/configuration.rb:459:in `load_spec_files'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/command_line.rb:18:in `run'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:80:in `run_in_process'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:69:in `run'
    from /home/raison/.rvm/gems/ruby-1.9.2-p290@omniauth-linkedin/gems/rspec-core-2.7.1/lib/rspec/core/runner.rb:10:in `block in autorun'
rake aborted!
ruby /home/raison/.rvm/rubies/ruby-1.9.2-p290/bin/ruby -S rspec ./spec/omniauth/strategies/linkedin_spec.rb failed

Tasks: TOP => default => spec
(See full trace by running task with --trace)

Randomly Getting Session Expired Error

We are using devise for authentication. We're using OmniAuth, but simply to authenticate once to grab a few pieces of information from LinkedIn when a user first signs up. What we've written works for the vast majority of users, however once in a while we randomly get the following error.

Authentication failure! session_expired: OmniAuth::NoSessionError, Session Expired

This error also seems to destroy the Devise session, as the user gets logged out of the system completely.

We're most likely doing something wrong, but have been unable to find any thing in forums on what might be causing this.

Any ideas?

Getting 403, access to network denied error

Hi,

I am getting 403, access to network denied error everytime when I try to share or fetch network updates.

I have followed the README, and used linkedin gem to call linkedin APIs.

When I used below configuration

provider  :linkedin,
            LINKEDIN_SETTINGS[:linkedin_api_key],
            LINKEDIN_SETTINGS[:linkedin_api_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"]

I got the below error.

OAuth::Problem - Scope NOT_AUTHORIZED : r_fullprofile, Scope NOT_AUTHORIZED : r_network:

Then I have tried with the scope 'r_basicprofile r_emailaddress w_share'

provider  :linkedin,
            LINKEDIN_SETTINGS[:linkedin_api_key],
            LINKEDIN_SETTINGS[:linkedin_api_secret],
            :scope => 'r_basicprofile r_emailaddress w_share', :fields => ["id", "email-address", "first-name", "last-name", "headline", "industry", "picture-url", "public-profile-url", "location", "connections"],

It worked, but When I am trying to share or to get network updates. I am gettng 403 Access to network denied error. Even I have tried with https using ngrok.

client.add_share(share)
client.network_updates
  def get_posts(credentials, options = {})
    client = prepare_client(credentials["token"], credentials["secret"])
    posts = client.network_updates(options)
    return posts
  end

  private
  def prepare_client(oauth_token, oauth_token_secret)
    client ||= LinkedIn::Client.new(api_key, api_secret)
    client.authorize_from_access(oauth_token, oauth_token_secret)
    return client
  end

share =    {
      "comment": comment,
      "content": {
        "title": title,
        "description": description # ,
        # "submitted-url": "https://developer.linkedin.com",  
        # "submitted-image-url": "https://example.com/logo.png"
      },
      "visibility": {
        "code": "anyone"
      }  
    }
  client.add_share(share)

I have also tried to use the example as in your document. And that too didn't work for me.

You can now make API calls as per normal e.g.:

client.profile
client.add_share({:comment => "blah"})

In my linkedin app, I have checked all the application permissions
https://www.linkedin.com/developer/apps
Default Application Permissions:

  • r_basicprofile
  • r_emailaddress
  • rw_company_admin
  • w_share

Could you please help me on this issue?

Thanks,
Suman

OmniAuth Hash Schema extensions

Hello!

Thanks for making this gem.

I noticed that you've added "industry" and "headline" keys to the info section of the auth hash. This feels wrong, does it not? Based on my reading of the schema it seems like these values should be placed in the "extra" section.

Relocating these things may be difficult, as code has been written expecting them to exist where they are, but I wanted to open a discussion.

request_phase re-adds the scope if you revisit the auth page

Navigating to /auth/linkedin in my app after doing it once before raises a OAuth::Problem SCOPE_INVALID : r_emailaddress?scope=r_basicprofile for me.

Looks like it's caused by the line in request_phase, which is re-adding the scope to the path string everytime you hit the auth path again.
options.client_options.request_token_path = "#{options.client_options.request_token_path}?scope=#{options.scope}"

Changing it to
options.client_options.request_token_url = "#{options.client_options.site}#{options.client_options.request_token_path}?scope=#{options.scope}"
fixes the problem for me, but maybe it would be more clear to override OAuth's consumer method to initialize the Oauth::Consumer with options.client_options.merge("request_token_path" => "#{options.client_options.request_token_path}?scope=#{options.scope}"), or something like that that doesn't leave side effects on the options hash.

Get email from token user

Hi everyone,
I have token of user and want request it to get EMAIL. HOW to config it get 'full profile' instead 'basic profile'
my code:

IN devise.rb:
config.omniauth :linkedin, "vuq..fnwb51g", "113e5p...9wpKjG5",  :scope => 'r_fullprofile r_emailaddress r_network rw_nus', :fields => ["id", "email-address", "first-name", "last-name", "headline", "industry", "picture-url", "public-profile-url", "location"]

Code request:
client = LinkedIn::Client.new(config[:consumer_key], config[:consumer_secret])
client.authorize_from_access(oauth_access_token, oauth_access_token_secret)
profile = client.profile(:scope=>'r_fullprofile')
puts profile.to_json

{"first_name":"test","headline":"Student at abc","last_name":"mely","site_standard_profile_request":{"url":"http://www.linkedin.com/profile/view?id=288....80&authType=name&authToken=I3GR&trk=api*a3...21*s3344461*"}}

Omniauth-linkedin parameter_absent error.

My omniauth configurations look like:

Rails.application.config.middleware.use OmniAuth::Builder do provider :linkedin, ENV["linkedin_key"], ENV["linkedin_secret"] provider :identity, on_failed_registration: lambda { |env| SessionsController.action(:new).call(env) } end

I have rechecked my key / secret value and it matches that given in the app_key section given on LinkedIn. However, today, I suddenly started getting following error:

Started GET "/auth/linkedin/callback?oauth_token=0fd17840-7b0c-4603-aa73-bf2eacf60510&oauth_verifier=29377" for 127.0.0.1 at 2013-08-04 13:55:09 +0530 (linkedin) Callback phase initiated. (linkedin) Authentication failure! invalid_credentials: OAuth::Problem, parameter_absent Processing by SessionsController#oauth_failure as HTML Parameters: {"oauth_token"=>"0fd17840-7b0c-4603-aa73-bf2eacf60510", "oauth_verifier"=>"29377"} Rendered sessions/oauth_failure.html.erb within layouts/application (0.2ms) Rendered layouts/_header.html.erb (0.2ms) Rendered layouts/_footer.html.erb (0.2ms)

Can you please suggest where I may be doing something wrong or if the issue with the gem.

oauth error

I have configured the gem to work with omniauth and devise, however, when I try and authenticate I always get

OAuth::Problem (timestamp_refused)

Sign in with linkedin javascript api

how to use Omniauth callback with LinkedIn API?
I'm trying to use following js code

const url = `/users/auth/linkedin/callback`;
IN.User.authorize((e) => {
    this.sendRequest(url,{}); // send post request without any params 
});

which sends post request after successful authorization through Linkedin API.

I, [2018-01-04T17:14:25.240777 #5985]  INFO -- omniauth: (linkedin) Callback phase initiated.
E, [2018-01-04T17:14:25.375784 #5985] ERROR -- omniauth: (linkedin) Authentication failure! session_expired: OmniAuth::NoSessionError, Session Expired

That's what I got on serverside. Is there any way to achieve authorization without redirecting?

Is there a way to refresh the access token using this gem?

LinkedIn access tokens expire after 60 days, but according to them, a token can be refreshed without user action prior to expiration (https://developer.linkedin.com/documents/authentication#handling). Is there a way to do this via the gem? I've also posted this question on StackOverflow with some more details (http://stackoverflow.com/questions/14349385/refresh-linkedin-token-with-omniauth-before-expiration).

Any information would be much appreciated. Thanks!

no such file to load -- omniauth/linkedin

After adding the omniauth-linkedin gem, whenever I run rake in my staging environment, rake aborts when Bundler fails to load the omniauth-linkedin gem. The same thing happens if I run "bundle exec rake ...". But it works perfectly in my dev environment.

Somewhere in the process Bundler does a gsub('-', '/') and then tries to load 'omniauth/linkedin' instead of 'omniauth-linkedin', leading to the error: "no such file to load -- omniauth/linkedin"

My Gemfile has the following:
gem 'omniauth'
gem 'omniauth-linkedin'

I've verified that these gems, and their dependencies are installed in my staging environment:
Using oauth (0.4.7)
Using omniauth (1.1.1)
Using omniauth-oauth (1.0.1)
Using omniauth-linkedin (0.0.8)

rake version 0.9.2
bundler version 1.1.1
rails 3.0.4
ruby 1.9.2p180

Here is the trace:
[ruby-1.9.2]demo:/home/demo/portal/current$ rake --trace -T
rake aborted!
no such file to load -- omniauth/linkedin
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.1/lib/bundler/runtime.rb:74:in require' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.1/lib/bundler/runtime.rb:74:inrescue in block in require'
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.1/lib/bundler/runtime.rb:62:in block in require' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:ineach'
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.1/lib/bundler/runtime.rb:55:in require' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/bundler-1.1.1/lib/bundler.rb:119:inrequire'
/home/demo/portal/releases/20121012151545/config/application.rb:7:in <top (required)>' /usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:inrequire'
/usr/local/rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require' /home/demo/portal/releases/20121012151545/Rakefile:4:in<top (required)>'
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/rake_module.rb:25:in load' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/rake_module.rb:25:inload_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:495:in raw_load_rakefile' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:78:inblock in load_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:129:in standard_exception_handling' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:77:inload_rakefile'
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:61:in block in run' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:129:instandard_exception_handling'
/usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/lib/rake/application.rb:59:in run' /usr/local/rvm/gems/ruby-1.9.2-p180/gems/rake-0.9.2/bin/rake:32:in<top (required)>'
/usr/local/rvm/gems/ruby-1.9.2-p180/bin/rake:19:in load' /usr/local/rvm/gems/ruby-1.9.2-p180/bin/rake:19:in

'

OAuth::Problem (consumer_key_unknown)

Hi skorks,

I have error while authorizing (on page http://domain.com/auth/linkedin): consumer_key_unknown.

Consumer Key is correct - I checked it few times. I have an omniauth.rb initializer with the following:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :linkedin, 'MY_KEY', 'MY_SECRET', :scope => 'r_network'
end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.