Skip to content

h3poteto/ueberauth_hatena

Repository files navigation

ÜberauthHatena

Hatena strategy for Überauth.

Installation

Add :ueberauth_hatena to list of your dependencies in mix.exs.

def deps do
  [{:ueberauth_hatena, "~> 0.1"},
   {:oauth, github: "tim/erlang-oauth"}]
end

Usage

  1. Create your OAuth application at Hatena Developer Center.
  2. Add Hatena to your Ueberauth configuration.
    config :ueberauth, Ueberauth,
      providers: [
        hatena: {Ueberauth.Strategy.Hatena, []}
      ]
  3. Add consumer key and secret from your OAuth application. And set scope the application.
    config :ueberauth, Ueberauth.Strategy.Hatena.OAuth,
      consumer_key: System.get_env("HATENA_CONSUMER_KEY"),
      consumer_secret: System.get_env("HATENA_CONSUMER_SECRET"),
      scope: "read_public,write_public"
  4. Include the Ueberauth plug in your controller. And please implement request method and callback method.
    defmodule MyApp.AuthController do
      use MyApp.Web, :controller
      plug Ueberauth
    
      def request(conn, _params) do
        ...
      end
    
      def callback(conn, _params) do
        ...
      end
    end
  5. Create reqeust and callback endpoint your router.
    scope "/auth", MyApp do
      pipe_through :browser
    
      get "/:provider", AuthController, :request
      get "/:provider/callback", AuthController, :callback
    end

For an example implementation see the Überauth Example application.

License

The software is available as open source under the terms of the MIT License.