Phx Gen Oidcc
An OpenID Login Generator for Phoenix 1.7 Projects
This library has taken some inspiration from
@aaronrenner's
phx_gen_auth.
The development of the library and the certification is funded as an Erlang Ecosystem Foundation stipend entered by the Security Working Group.
Overview
The purpose of phx.gen.oidcc is to generate a pre-built authentication system
into a Phoenix 1.7 application that follows both security and elixir best
practices. By generating code into the user's application instead of using a
library, the user has complete freedom to modify the authentication system so it
works best with their app.
Installation
After running mix phx.new, cd into your application's directory
(ex. my_app).
- Add
phx_gen_oidccto your list of dependencies inmix.exsdef deps do[{:phx_gen_oidcc, "~> 0.1.0", only: [:dev], runtime: false},...]end - Install and compile the dependencies
$ mix do deps.get, deps.compile
Running the generator
From the root of your phoenix app, you can install the authentication system with the following command
$ mix phx.gen.oidcc \
MyApp.ConfigProviderName \
"https://isser.example.com" \
"client_id" \
"client_secret"
This creates the templates,views, and controllers on the web namespace, and
starts a new Oidcc.ProviderConfiguration.Worker, in the application.
Next, let's install the dependencies
$ mix deps.get
Let's run the tests and make sure our new authentication system works as expected.
$ mix test
Finally, let's start our phoenix server and try it out.
$ mix phx.server
Learning more
To learn more about phx.gen.oidcc, run the following command.
$ mix help phx.gen.oidcc
You can also look up the mix task in hexdocs.