Skip to content

Latest commit

 

History

History
71 lines (46 loc) · 2.2 KB

CHANGELOG.md

File metadata and controls

71 lines (46 loc) · 2.2 KB

Changelog

v0.5.1 (2019-05-08)

  • Require ExOauth2Provider v0.5.1
  • Pass configuration to all ExOauth2Provider methods
  • Removed ExOauth2Provider.Config.native_redirect_uri/1 call in templates in favor of using assigns

v0.5.0 (2019-05-08)

This is a full rewrite of the library, and are several breaking changes. You're encouraged to test your app well if you upgrade from 0.4.x.

1. ExOauth2Provider

Read the ExOauth2Provider CHANGELOG.md for upgrade instructions.

2. Configuration

Configuration has been split up so now it should look like this (:module and :current_resource_owner should be moved to the separate configuration for PhoenixOauth2Provider):

config :my_app, ExOauth2Provider,
  repo: MyApp.Repo,
  resource_owner: MyApp.Users.User,
  # ...

config :my_app, PhoenixOauth2Provider,
  current_resource_owner: :current_user,
  web_module: MyAppWeb

3. Routes

Routes are now separated into api and non api routes. Remove the old oauth_routes/1 routes, and update your router.ex to look like this instead:

defmodule MyAppWeb.Router do
  use MyAppWeb, :router
  use PhoenixOauth2Provider.Router

  # ...

  pipeline :protected do
    # Require user authentication
  end

  scope "/" do
    pipe_through :api

    oauth_api_routes()
  end

  scope "/" do
    pipe_through [:browser, :protected]

    oauth_routes()
  end

  # ...
end

Remember to remove the :oauth_public pipeline. The default :api pipeline will be used instead.

4. Templates and views

Remove the old module: MyApp setting in your PhoenixOauth2Provider configuration, and instead set web_module: MyAppWeb.

However, templates and views are no longer required to be generated so you can remove them and the :web_module configuration setting entirely if the default ones work for you.

The easiest migration of templates and views are to just delete the folders (lib/my_app_web/templates/{application, authorization, authorized_application} and lib/my_app_web/views/phoenix_oauth2_provider), and then run mix phoenix_oauth2_provider.gen.templates to regenerate them. Then you can go into the templates and update them to use your old markup.