ueberauth_openstreetmap/README.md

103 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2020-10-26 20:44:15 +01:00
# Überauth OpenStreetMap
2015-11-18 04:34:26 +01:00
2020-10-26 20:44:15 +01:00
> OpenStreetMap strategy for Überauth.
2015-11-18 04:34:26 +01:00
2015-11-18 04:34:55 +01:00
_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.
2015-11-18 04:34:26 +01:00
2015-11-18 04:34:55 +01:00
## Installation
2015-11-18 04:34:26 +01:00
2020-10-26 20:44:15 +01:00
1. Setup your application at [OpenStreetMap Developers](https://dev.OpenStreetMap.com/).
2015-11-18 04:34:26 +01:00
2020-10-26 20:44:15 +01:00
1. Add `:ueberauth_OpenStreetMap` to your list of dependencies in `mix.exs`:
2015-11-18 04:34:26 +01:00
2015-11-18 04:34:55 +01:00
```elixir
def deps do
[
2020-10-26 20:44:15 +01:00
{:ueberauth_OpenStreetMap, "~> 0.3"}
]
2015-11-18 04:34:55 +01:00
end
```
2015-11-18 04:34:26 +01:00
2020-10-26 20:44:15 +01:00
1. Add OpenStreetMap to your Überauth configuration:
2015-11-18 04:34:26 +01:00
2015-11-18 04:34:55 +01:00
```elixir
config :ueberauth, Ueberauth,
providers: [
2020-10-26 20:44:15 +01:00
OpenStreetMap: {Ueberauth.Strategy.OpenStreetMap, []}
2015-11-18 04:34:55 +01:00
]
```
1. Update your provider configuration:
2015-11-18 04:34:26 +01:00
```elixir
2020-10-26 20:44:15 +01:00
config :ueberauth, Ueberauth.Strategy.OpenStreetMap.OAuth,
consumer_key: System.get_env("OpenStreetMap_CONSUMER_KEY"),
consumer_secret: System.get_env("OpenStreetMap_CONSUMER_SECRET")
2015-11-18 04:34:55 +01:00
```
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
2015-11-18 04:34:26 +01:00
end
```
2015-11-18 04:34:55 +01:00
1. Your controller needs to implement callbacks to deal with `Ueberauth.Auth` and `Ueberauth.Failure` responses.
2015-11-18 04:34:55 +01:00
For an example implementation see the [Überauth Example](https://github.com/ueberauth/ueberauth_example) application.
## Calling
2017-04-04 18:56:36 +02:00
Depending on the configured url you can initiate the request through:
2015-11-18 04:34:55 +01:00
2020-10-26 20:44:15 +01:00
/auth/OpenStreetMap
2015-11-18 04:34:55 +01:00
2018-06-06 04:00:43 +02:00
## Development mode
2020-10-26 20:44:15 +01:00
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.
2018-06-06 04:00:43 +02:00
Website - http://127.0.0.1
2020-10-26 20:44:15 +01:00
Callback URL - http://127.0.0.1:4000/auth/OpenStreetMap/callback
2018-06-06 04:00:43 +02:00
2015-11-18 04:34:55 +01:00
## License
Please see [LICENSE](https://forge.tedomum.net/tykayn/ueberauth_openstreetmap/blob/master/LICENSE) for licensing details.
2015-11-18 04:34:55 +01:00