# Überauth OpenStreetMap > OpenStreetMap strategy for Überauth. _Note_: Sessions are required for this strategy. ## Notes avoir un compte OSM et créer son app sur OSM ici https://www.openstreetmap.org/user/username/oauth_clients URL du jeton de requête : https://www.openstreetmap.org/oauth/request_token URL du jeton d’accès : https://www.openstreetmap.org/oauth/access_token URL d’autorisation : https://www.openstreetmap.org/oauth/authorize Demande les permissions suivantes à l’utilisateur : * lire les préférences de l’utilisateur Nous prenons en charge les signatures HMAC-SHA1 (recommandé) et RSA-SHA1. ## Installation 1. Setup your application at [OpenStreetMap Developers](https://dev.OpenStreetMap.com/). 1. Add `:ueberauth_OpenStreetMap` to your list of dependencies in `mix.exs`: ```elixir def deps do [ {:ueberauth_OpenStreetMap, "~> 0.3"} ] end ``` 1. Add OpenStreetMap to your Überauth configuration: ```elixir config :ueberauth, Ueberauth, providers: [ OpenStreetMap: {Ueberauth.Strategy.OpenStreetMap, []} ] ``` 1. Update your provider configuration: ```elixir config :ueberauth, Ueberauth.Strategy.OpenStreetMap.OAuth, consumer_key: System.get_env("OpenStreetMap_CONSUMER_KEY"), consumer_secret: System.get_env("OpenStreetMap_CONSUMER_SECRET") ``` 1. Include the Überauth plug in your controller: ```elixir defmodule MyApp.AuthController do use MyApp.Web, :controller plug Ueberauth ... end ``` 1. Create the request and callback routes if you haven't already: ```elixir scope "/auth", MyApp do pipe_through :browser get "/:provider", AuthController, :request get "/:provider/callback", AuthController, :callback end ``` 1. Your controller needs to implement callbacks to deal with `Ueberauth.Auth` and `Ueberauth.Failure` responses. For an example implementation see the [Überauth Example](https://github.com/ueberauth/ueberauth_example) application. ## Calling Depending on the configured url you can initiate the request through: /auth/OpenStreetMap ## Development mode As noted when registering your application on the OpenStreetMap Developer site, you need to explicitly specify the `oauth_callback` url. While in development, this is an example url you need to enter. Website - http://127.0.0.1 Callback URL - http://127.0.0.1:4000/auth/OpenStreetMap/callback ## License Please see [LICENSE](https://forge.tedomum.net/tykayn/ueberauth_openstreetmap/blob/master/LICENSE) for licensing details.