PowAssent v0.1.0-alpha.11 PowAssent.Strategy.Slack View Source

Slack OAuth 2.0 strategy.

Usage

config :my_app, :pow_assent,
  providers:
      [
        slack: [
          client_id: "REPLACE_WITH_CLIENT_ID",
          client_secret: "REPLACE_WITH_CLIENT_SECRET",
          strategy: PowAssent.Strategy.Slack
        ]
      ]

By default, the user can decide what team should be used for authorization. If you want to limit to a specific team, please pass a team id to the configuration:

config :my_app, :pow_assent,
  providers:
      [
        slack: [
          client_id: "REPLACE_WITH_CLIENT_ID",
          client_secret: "REPLACE_WITH_CLIENT_SECRET",
          strategy: PowAssent.Strategy.Slack,
          team_id: "XXXXXXX"
        ]
      ]

This value will be not be used if you set a authorization_params key. Instead you should set team: TEAM_ID in the authorization_params keyword list.

Link to this section Summary

Link to this section Functions

Link to this function authorize_url(config, conn) View Source
authorize_url(Keyword.t(), Plug.Conn.t()) ::
  {:ok, %{conn: Plug.Conn.t(), state: binary(), url: binary()}}

Callback implementation for PowAssent.Strategy.authorize_url/2.

Link to this function callback(config, conn, params) View Source
callback(Keyword.t(), Plug.Conn.t(), map()) ::
  {:ok, %{client: OAuth2.Client.t(), conn: Plug.Conn.t(), user: map()}}
  | {:error, %{conn: Plug.Conn.t(), error: any()}}

Callback implementation for PowAssent.Strategy.callback/3.

Link to this function default_config(config) View Source
default_config(Keyword.t()) :: Keyword.t()

Callback implementation for PowAssent.Strategy.OAuth2.Base.default_config/1.

Link to this function normalize(client, config, identity) View Source
normalize(PowAssent.Strategy.OAuth2.Client.t(), Keyword.t(), map()) ::
  {:ok, map()}

Callback implementation for PowAssent.Strategy.OAuth2.Base.normalize/3.