ueberauth_openstreetmap/README.md

103 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ü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 daccès :
https://www.openstreetmap.org/oauth/access_token
URL dautorisation :
https://www.openstreetmap.org/oauth/authorize
Demande les permissions suivantes à lutilisateur :
* lire les préférences de lutilisateur
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.