All Projects → ueberauth → ueberauth_slack

ueberauth / ueberauth_slack

Licence: MIT license
Slack OAuth2 Strategy for Überauth

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to ueberauth slack

ueberauth facebook
Facebook OAuth2 Strategy for Überauth.
Stars: ✭ 72 (+213.04%)
Mutual labels:  oauth, strategy, ueberauth, ueberauth-strategies
Ueberauth github
GitHub OAuth2 Strategy for Überauth
Stars: ✭ 80 (+247.83%)
Mutual labels:  oauth, strategy
Ueberauth google
Google OAuth2 Strategy for Überauth.
Stars: ✭ 110 (+378.26%)
Mutual labels:  oauth, strategy
jfinal-justauth-demo
Jfinal集成JustAuth的demo
Stars: ✭ 26 (+13.04%)
Mutual labels:  oauth
Diber-backend
Delivery Service - Spring Boot / Spring Data Jpa / Hibernate / PostgreSQL / OAuth2 Application
Stars: ✭ 22 (-4.35%)
Mutual labels:  oauth
auth-oauth-app.js
GitHub OAuth App authentication for JavaScript
Stars: ✭ 56 (+143.48%)
Mutual labels:  oauth
presso
Event-driven backtest/realtime quantitative trading system.
Stars: ✭ 59 (+156.52%)
Mutual labels:  strategy
casdoor-go-sdk
Go client SDK for Casdoor
Stars: ✭ 37 (+60.87%)
Mutual labels:  oauth
streamlabs
This module is a implementation of Streamlabs API https://dev.streamlabs.com/
Stars: ✭ 21 (-8.7%)
Mutual labels:  oauth
kubernetes-localdev
Create a local Kubernetes development environment on macOS or Windows and WSL2, including HTTPS/TLS and OAuth2/OIDC authentication.
Stars: ✭ 210 (+813.04%)
Mutual labels:  oauth
New-JavaScript-SDK---OAuth-2.0-based-FBConnect-Tutorial
Javascript SDK oAuth 2.0 based FBConnect
Stars: ✭ 68 (+195.65%)
Mutual labels:  oauth
nexus3-github-oauth-plugin
This nexus plugin provides a way to authenticate/authorize your users based on Github.
Stars: ✭ 52 (+126.09%)
Mutual labels:  oauth
sign-in-with-ethereum
Minimal example of sign in with Ethereum. Compatible with web3 browsers.
Stars: ✭ 25 (+8.7%)
Mutual labels:  oauth
omniauth-mastodon
OmniAuth strategy for Mastodon
Stars: ✭ 27 (+17.39%)
Mutual labels:  oauth
Twitter
[READ ONLY] Subtree split of the SocialiteProviders/Twitter Provider (see SocialiteProviders/Providers)
Stars: ✭ 21 (-8.7%)
Mutual labels:  oauth
jax-rs-pac4j
Security library for JAX-RS and Jersey
Stars: ✭ 48 (+108.7%)
Mutual labels:  oauth
portara-website
Portara dashboard controller to change rate limit settings without redeploying your app
Stars: ✭ 42 (+82.61%)
Mutual labels:  oauth
sign-in-with-google
A WordPress plugin that adds "Sign in with Google" functionality
Stars: ✭ 24 (+4.35%)
Mutual labels:  oauth
mod oauth2
OAuth 2.x Resource Server module for the Apache HTTPd web server
Stars: ✭ 34 (+47.83%)
Mutual labels:  oauth
aiohttp-login
Registration and authorization (including social) for aiohttp apps.
Stars: ✭ 53 (+130.43%)
Mutual labels:  oauth

Überauth Slack

Slack OAuth2 strategy for Überauth.

Installation

  1. Setup your application at Slack API.

  2. Add :ueberauth_slack to your list of dependencies in mix.exs:

    def deps do
      [{:ueberauth_slack, "~> 0.7"}]
    end
  3. Add the strategy to your applications:

    def application do
      [applications: [:ueberauth_slack]]
    end
  4. Add Slack to your Überauth configuration:

    config :ueberauth, Ueberauth,
      providers: [
        slack: {Ueberauth.Strategy.Slack, []}
      ]

    You can optionally restrict authentication by providing your team ID. Find your Slack team ID here. Note that this is NOT your team's Slack domain name!

    config :ueberauth, Ueberauth,
      providers: [
        slack: {Ueberauth.Strategy.Slack, [team: "0ABCDEF"]}
      ]
  5. Update your provider configuration:

    config :ueberauth, Ueberauth.Strategy.Slack.OAuth,
      client_id: System.get_env("SLACK_CLIENT_ID"),
      client_secret: System.get_env("SLACK_CLIENT_SECRET")
  6. Include the Überauth plug in your controller:

    defmodule MyApp.AuthController do
      use MyApp.Web, :controller
      plug Ueberauth
      ...
    end
  7. Create the request and callback routes if you haven't already:

    scope "/auth", MyApp do
      pipe_through :browser
    
      get "/:provider", AuthController, :request
      get "/:provider/callback", AuthController, :callback
    end
  8. Your controller needs to implement callbacks to deal with Ueberauth.Auth and Ueberauth.Failure responses.

For an example implementation see the Überauth Example application.

Calling

Depending on the configured url you can initiate the request through:

/auth/slack

Or with options:

/auth/slack?scope=users:read

By default the requested scope is "users:read". Scope can be configured either explicitly as a scope query value on the request path or in your configuration:

config :ueberauth, Ueberauth,
  providers: [
    slack: {Ueberauth.Strategy.Slack, [default_scope: "users:read,users:write"]}
  ]

License

Please see LICENSE for licensing details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].