{"id":22696863,"url":"https://github.com/maxbeizer/ueberauth_heroku","last_synced_at":"2026-03-09T13:02:47.425Z","repository":{"id":56152642,"uuid":"72379119","full_name":"maxbeizer/ueberauth_heroku","owner":"maxbeizer","description":"Elixir oauth strategy using Heroku","archived":false,"fork":false,"pushed_at":"2020-11-24T14:21:57.000Z","size":22,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-04T12:46:11.469Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://hex.pm/packages/ueberauth_heroku","language":"Elixir","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxbeizer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-10-30T22:20:46.000Z","updated_at":"2020-11-24T14:19:57.000Z","dependencies_parsed_at":"2022-08-15T13:40:43.774Z","dependency_job_id":null,"html_url":"https://github.com/maxbeizer/ueberauth_heroku","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbeizer%2Fueberauth_heroku","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbeizer%2Fueberauth_heroku/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbeizer%2Fueberauth_heroku/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxbeizer%2Fueberauth_heroku/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxbeizer","download_url":"https://codeload.github.com/maxbeizer/ueberauth_heroku/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248565093,"owners_count":21125418,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-10T05:11:27.907Z","updated_at":"2026-03-09T13:02:47.364Z","avatar_url":"https://github.com/maxbeizer.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ueberauth Heroku\n\n\u003e Heroku OAuth2 strategy for Ueberauth.\n\n[tl;dr example repo](https://github.com/maxbeizer/ueberauth_heroku_example)\n\n## Installation\n\n1. Setup your application on [Heroku](https://www.heroku.com). There are three\n   ways to register a client: \n  * [Dashboard (easiest)](https://dashboard.heroku.com/account/applications)\n  * [heroku-oauth CLI plugin](https://github.com/heroku/heroku-cli-oauth)\n  * [using the API directly](https://devcenter.heroku.com/articles/platform-api-reference#oauth-client)\n\n1. Add `:ueberauth_heroku` to your list of dependencies in `mix.exs`:\n\n    ```elixir\n    def deps do\n      [{:ueberauth_heroku, \"~\u003e 0.1\"}]\n    end\n    ```\n\n1. Add the strategy to your applications:\n\n    ```elixir\n    def application do\n      [applications: [:ueberauth_heroku]]\n    end\n    ```\n\n1. Add Heroku to your Ueberauth configuration:\n\n    ```elixir\n    config :ueberauth, Ueberauth,\n      providers: [\n        heroku: {Ueberauth.Strategy.Heroku, []}\n      ]\n    ```\n\n1.  Update your provider configuration:\n\n    ```elixir\n    config :ueberauth, Ueberauth.Strategy.Heroku.OAuth,\n      client_id: System.get_env(\"HEROKU_CLIENT_ID\"),\n      client_secret: System.get_env(\"HEROKU_CLIENT_SECRET\")\n    ```\n\n1.  Include the Ueberauth plug in your controller:\n\n    ```elixir\n    defmodule MyApp.AuthController do\n      use MyApp.Web, :controller\n      plug Ueberauth\n      ...\n    end\n    ```\n\n1.  Create the request and callback routes if you haven't already:\n\n    ```elixir\n    scope \"/auth\", MyApp do\n      pipe_through :browser\n\n      get \"/:provider\", AuthController, :request\n      get \"/:provider/callback\", AuthController, :callback\n    end\n    ```\n\n1. Your controller needs to implement callbacks to deal with `Ueberauth.Auth`\n   and `Ueberauth.Failure` responses.\n\nFor an example implementation see the [Ueberauth Heroku\nexample](https://github.com/maxbeizer/ueberauth_heroku_example) application.\n\n## Calling\n\nDepending on the configured URL you can initial the request through:\n\n    /auth/heroku\n\nOr with options:\n\n    /auth/heroku?scope=global\n\nBy default the requested scope is \"identity\" ([learn\nmore](https://devcenter.heroku.com/articles/oauth#scopes)). Scope can be\nconfigured either explicitly as a `scope` query value on the request path or in\nyour configuration:\n\n```elixir\nconfig :ueberauth, Ueberauth,\n  providers: [\n    heroku: {Ueberauth.Strategy.Heroku, [default_scope: \"global\"]}\n  ]\n```\n\n## License\n\nPlease see [LICENSE](https://github.com/maxbeizer/ueberauth_heroku/blob/master/LICENSE) for licensing details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxbeizer%2Fueberauth_heroku","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxbeizer%2Fueberauth_heroku","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxbeizer%2Fueberauth_heroku/lists"}