Oidcc.Plug.Authorize (Oidcc Plug v0.2.1)

View Source

Initiate Code Flow Authorization Redirect

defmodule SampleAppWeb.Router do
  use Phoenix.Router

  # ...

  forward "/oidcc/authorize", to: Oidcc.Plug.Authorize,
    init_opts: [
      provider: SampleApp.GoogleOpenIdConfigurationProvider,
      client_id: Application.compile_env!(:sample_app, [Oidcc.Plug.Authorize, :client_id]),
      client_secret: Application.compile_env!(:sample_app, [Oidcc.Plug.Authorize, :client_secret]),
      redirect_uri: "https://localhost:4000/oidcc/callback"
    ]
end

Query Params

  • state - State to relay to OpenID Provider. Commonly used for target redirect URL after authorization.

Summary

Types

Plug Configuration Options

Types

opts()

(since 0.1.0)
@type opts() :: [
  scopes: :oidcc_scope.scopes(),
  redirect_uri: String.t() | (-> String.t()),
  url_extension: :oidcc_http_util.query_params(),
  provider: GenServer.name(),
  client_id: String.t() | (-> String.t()),
  client_secret: String.t() | (-> String.t()),
  client_context_opts:
    :oidcc_client_context.opts() | (-> :oidcc_client_context.opts()),
  client_profile_opts: :oidcc_profile.opts()
]

Plug Configuration Options

Options

  • scopes - scopes to request
  • redirect_uri - Where to redirect for callback
  • url_extension - Custom query parameters to add to the redirect URI
  • provider - name of the Oidcc.ProviderConfiguration.Worker
  • client_id - OAuth Client ID to use for the introspection
  • client_secret - OAuth Client Secret to use for the introspection
  • client_context_opts - Options for Client Context Initialization
  • client_profile_opts - Options for Client Context Profiles