- Add
ueberauthandueberauth_openamto your list of dependencies inmix.exs:
def deps do
[
{:ueberauth, "~> 0.2"},
{:ueberauth_openam, "~> 0.1.0"},
]
end- Ensure
ueberauth_openamis started before your application:
def application do
[applications: [:ueberauth_openam]]
end- Configure the OpenAM integration in
config/config.exs:
config :ueberauth, Ueberauth,
providers: [openam: {Ueberauth.Strategy.OpenAM, [
base_url: "http://websso.example.com/",
sso_cookie: "openAMssoToken",
]}]- Add the request and callback routes in your router (below are defaults):
get "/:provider", AuthController, :request
get "/:provider/callback", AuthController, :callback
- In your auth controller include the Üeberauth plug and implement the callback routes for success and failure:
defmodule MyApp.AuthController do
use MyApp.Web, :controller
plug Ueberauth
def callback(%{assigns: %{ueberauth_auth: auth}} = conn, _params) do
...
end
def callback(%{assigns: %{ueberauth_failure: _fails}} = conn, _params) do
...
end
endIssues and Pull Requests are always welcome!