Phx Gen Oidcc
An OpenID Login Generator for Phoenix 1.7 Projects
OpenID Certified by Jonatan Männchen at the Erlang Ecosystem Foundation of multiple Relaying Party conformance profiles of the OpenID Connect protocol: For details, check the Conformance Documentation.
The development of the library and the certification is funded as an Erlang Ecosystem Foundation stipend entered by the Security Working Group.
This library has taken some inspiration from
@aaronrenner's
phx_gen_auth.
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.getLet's run the tests and make sure our new authentication system works as expected.
$ mix testFinally, let's start our phoenix server and try it out.
$ mix phx.serverLearning more
To learn more about phx.gen.oidcc, run the following command.
$ mix help phx.gen.oidccYou can also look up the mix task in hexdocs.