This gem contains the OpenStreetMap strategy for OmniAuth.
OpenStreetMap uses the OAuth 1.0a flow, you can read about it here: http://wiki.openstreetmap.org/wiki/OAuth
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-osm'
Of course if one or both of these are unreleased, you may have to pull them in directly from github e.g.:
gem 'omniauth', :git => 'https://github.com/intridea/omniauth.git'
gem 'omniauth-osm', :git => 'https://github.com/sozialhelden/omniauth-osm.git'
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 :osm, "consumer_key", "consumer_secret"
end
If you are using devise, this is how it looks like in your config/initializers/devise.rb
:
config.omniauth :osm, "consumer_key", "consumer_secret", :fetch_permissions => true
You will obviously have to put in your key and secret, which you get when you register your app with OpenStreetMap.
Now just follow the README at: https://github.com/intridea/omniauth
If you would like to use this plugin against another OSM server, such as the test development server you can use the environment variable OSM_AUTH_SITE to set the server to connect to. Alternatively you can pass the site as a client_option to the omniauth config:
config.omniauth :osm, "consumer_key", "consumer_secret", :fetch_permissions => true, :client_options => {:site => 'http://api06.dev.openstreetmap.org' }
You could for example use the gem figaro to configure the environment variable, or roll your own preinitialiser similar to the OpenStreetMap website.
- 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.