README.md

Üeberauth Withings
====================

Withings strategy for Üeberauth

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed as:

  1. Register your application at https://oauth.withings.com/

  2. Add ueberauth_withings to your list of dependencies in `mix.exs`:
  ```elixir
  def deps do
    [{:ueberauth_withings, "~> 1.0"}]
  end
  ```

  3. Ensure `ueberauth_withings` is started before your application:
  
  For Elixir 1.4+:
  ``` elixir
  def application do
    [extra_applications: [:ueberauth_withings]]
  end
  ```
  For older versions:
  
  ```elixir
  def application do
    [applications: [:ueberauth_withings]]
  end
  ```

  4. Add Withings to your Üeberauth configuration
  ```elixir
  config :ueberauth, Ueberauth,
    providers: [
      withings: { Ueberauth.Strategy.Withings, [] }
    ]
  ```

  5.  Update your provider configuration:
  ```elixir
  config :ueberauth, Ueberauth.Strategy.Withings.OAuth,
    consumer_key: System.get_env("WITHINGS_CONSUMER_KEY"),
    consumer_secret: System.get_env("WITHINGS_CONSUMER_SECRET")
  ```

  6.  Include the Überauth plug in your controller:
  ```elixir
  defmodule MyApp.AuthController do
    use MyApp.Web, :controller
    plug Ueberauth
    ...
  end
  ```

  7.  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
    ```

  8. You controller needs to implement callbacks to deal with `Ueberauth.Auth` and `Ueberauth.Failure` responses.


## Calling

Depending on the configured url you can initialize authorization through:

    /auth/withings