phx_gen_auth
canada
phx_gen_auth | canada | |
---|---|---|
6 | 2 | |
803 | 439 | |
- | - | |
4.4 | 0.0 | |
over 2 years ago | about 3 years ago | |
Elixir | Elixir | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
phx_gen_auth
-
Build Interactive Phoenix LiveView UIs with Components
This code assumes you've used the Phoenix Auth generator to add authentication to your Phoenix app. The details of authentication aren't important for our purposes here. Just know that the survey route is a protected route that requires an authenticated user. This means that when a logged-in user points their browser at /survey, the SurveyLive view will mount with a session argument that contains a key of "user_token" pointing to a token we can use to identify the current user. The generator also gives us a function, Accounts.get_user_by_session_token(user_token), that we will use to fetch the user for that token.
-
LiveView Integration Tests in Elixir
We're also using a test helper provided for us by the Phoenix authentication generator—register_and_log_in_user/1. This function creates a conn struct with a logged-in user, a necessary step because visiting the /admin-dashboard route requires an authenticated user.
-
Best options for deploying your frontend and backend
Thanks for the suggestion. I started off with a Phoenix-only app but then I realised that it would be really nice to have a separate frontend. My Phoenix app was using phx.gen.auth, but according to the readme on their GH page, the `--no-html` option is not supported, so I'm thinking about trying POW. I've found this example which looks a little full-on, especially compared to how simple this is done in Django.
-
10 Years(-Ish) of Elixir
Thank you for your work on adding user registration and authorization to Phoenix!
I'm setting up a new Phoenix app for a side project this weekend and have just run Arron Renner's [auth generator](https://github.com/aaronrenner/phx_gen_auth). Having user registration out of the box will save a big chunk of time and energy!
-
How to connect Pow and Live View in your Phoenix project
Even though phx.gen.auth seems to be the hip solution for authentication at the moment in Phoenix land, I still prefer to use Pow for my small hobby projects and a side project I am working on. A short statement why I prefer Pow can be found at the end of the post.
canada
-
Authorization and Policy Scopes for Phoenix Apps
While it is definitely possible to roll out something by hand, it usually makes sense not to reinvent the wheel if well-maintained and tested libraries are available. Canada and Bodyguard are two of the more popular ones that I have seen in the community.
-
10 Years(-Ish) of Elixir
There are packages on Hex that haven't been updated in a long time but still work perfectly (Canada, for example: https://github.com/jarednorman/canada). Elixir itself doesn't change much... in fact there's no plans for a 2.0 on the horizon, so the fact that packages don't change often isn't a big deal if they still do what they say they do and aren't hurting for more features.
What are some alternatives?
Pow - Robust, modular, and extendable user authentication system
bodyguard - Simple authorization conventions for Phoenix apps
ueberauth - An Elixir Authentication System for Plug-based Web Applications
canary
guardian - Elixir Authentication
authorize - Rule based authorization for Elixir
PowAssent - Multi-provider authentication for your Pow enabled app
Phauxth - Not actively maintained - Authentication library for Phoenix, and other Plug-based, web applications
ueberauth_auth0 - Auth0 OAuth2 strategy for Überauth.
terminator - 🛡 Modern elixir ACL/ABAC library for managing granular user abilities and permissions
ueberauth_active_directory
policy_wonk - Elixir authorization and resource loading in Plug form for Phoenix