pow
phx_gen_auth
Our great sponsors
pow | phx_gen_auth | |
---|---|---|
3 | 6 | |
3,444 | 803 | |
- | - | |
10.0 | 4.4 | |
almost 4 years ago | over 2 years ago | |
CoffeeScript | 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.
pow
-
Richard Schneeman's How to Open Source book is out! 🤩
Is this the POW you're talking about? https://github.com/basecamp/pow
- Doctree
-
Apple Monterey reserves port 5000, a common web development port
I don't think IANA explicitly reserved .dev. It was made popular as a local dev domain by Basecamp's Pow[1]. IANA only defines .test, .example, .invalid, .local, and .localhost as reserved (with .onion being the latest addition in 2015[2])
Though in this list, only .test and .example are marked as non-special and must be resolved normally by RFC 6761, and .local is reserved for mDNS by RFC 6762. In this list, .test would have been the most appropriate for Pow to use.
CydeWeys (Tech Lead of Google Registry) has commented on HN in the past that they did not anticipated people weren't following the best practices[3], which makes me think IANA should have given .dev the same treatment as .onion: by explicitly reserving them (but this is another topic to discuss).
[1]: https://github.com/basecamp/pow
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.
What are some alternatives?
doctree - First-class library documentation for every language (based on tree-sitter), with symbol search & more. Lightweight single binary, run locally or self-host. Surfaces usage examples via Sourcegraph.
Pow - Robust, modular, and extendable user authentication system
htpasswd - Apache httpasswd file reader/writer in Elixir
ueberauth - An Elixir Authentication System for Plug-based Web Applications
guardian - Elixir Authentication
PowAssent - Multi-provider authentication for your Pow enabled app
coherence - Coherence is a full featured, configurable authentication system for Phoenix
ueberauth_auth0 - Auth0 OAuth2 strategy for Überauth.
oban - 💎 Robust job processing in Elixir, backed by modern PostgreSQL and SQLite3
ueberauth_active_directory