ueberauth_coding v0.1.1 Ueberauth.Strategy.Coding

Provides an Ueberauth strategy for authenticating with Coding.

Setup

Create an application in Coding for you to use. Register a new application at: your coding applications page and get the client_id and client_secret. Include the provider in your configuration for Ueberauth

config :ueberauth, Ueberauth,
  providers: [
    coding: {Ueberauth.Strategy.Coding, []}
  ]

Then include the configuration for coding.

config :ueberauth, Ueberauth.Strategy.Coding.OAuth,
  client_id: System.get_env("CODING_CLIENT_ID"),
  client_secret: System.get_env("CODING_CLIENT_SECRET")

If you haven’t already, create a pipeline and setup routes for your callback handler

pipeline :auth do
  Ueberauth.plug "/auth"
end
scope "/auth" do
  pipe_through [:browser, :auth]
  get "/:provider/callback", AuthController, :callback
end

Create an endpoint for the callback where you will handle the Ueberauth.Auth struct

defmodule MyApp.AuthController do
  use MyApp.Web, :controller
  def callback_phase(%{assigns: %{ueberauth_failure: failure}} = conn, _params) do
    # do things with the failure
  end
  def callback_phase(%{assigns: %{ueberauth_auth: auth}} = conn, params) do
    # do things with the auth
  end
end

You can edit the behaviour of the Strategy by including some options when you register your provider. To set the default ‘scopes’ (permissions):

config :ueberauth, Ueberauth,
  providers: [
    coding: {Ueberauth.Strategy.Coding, [default_scope: "user"]}
  ]

Default is “user”

Summary

Functions

Includes the credentials from the Coding response

Stores the raw information (including the token) obtained from the Coding callback

Handles the callback from Coding

The cleanup phase implementation for your strategy

Handles the initial redirect to the coding authentication page

Fetches the fields to populate the info section of the Ueberauth.Auth struct

Fetches the uid field from the Coding response

Functions

auth(conn)
credentials(conn)

Includes the credentials from the Coding response.

default_options()
extra(conn)

Stores the raw information (including the token) obtained from the Coding callback.

handle_callback!(conn)

Handles the callback from Coding.

handle_cleanup!(conn)

The cleanup phase implementation for your strategy.

The cleanup phase runs after the callback phase and is present to provide a mechanism to cleanup any temporary data your strategy may have placed in the connection.

Callback implementation for Ueberauth.Strategy.handle_cleanup!/1.

handle_request!(conn)

Handles the initial redirect to the coding authentication page.

info(conn)

Fetches the fields to populate the info section of the Ueberauth.Auth struct.

uid(conn)

Fetches the uid field from the Coding response.