Summary of the authentication/authorization packages available for Phoenix

Hello everybody,

I’m learning Phoenix and so far, I didn’t had the need to have (and encountered any examples with) advanced authentication/authorization…

But I’m starting to look about what are the gems packages available in the Elixir/Phoenix world to replace some workflow I had in the Ruby/Rails world…

So, I heard about comeonin, ueberauth, guardian, pow, pow_assent, coherence
Which ones are related to only authentication, only authorization, and both?
While I know that I can go and read what each is doing, I’m mostly looking for advice like which one are used by big teams or in big projects and that are somehow long-term solutions…

E.g. in the rails world, one can be pretty sure to go with devise and pundit for example…
By the way, devise was made from plataformatec, so I always thought that in this way, there will be some kind of default native authentication solution backed right into Phoenix… But it seems not…

Also do you think it’s bad to go with with a custom authentication and authorization handling, by only using comeonin (which will only handle password hashes if I’m not wrong) as it’s done e.g. in the book Programming Phoenix?

Thank you very much…

This is because they weren‘t happy with devise:

Afaik pow comes closest to a full feature auth library.

4 Likes

depends on what you need? what are you building? what are your requirements?

afaik pow is the current leader/most active - handles “everything” and have tutorials/guides, great docs etc. etc. - so would say that is the place to start (unless you have specific requirements).

personally I use guardian/guardian_db in my project - that was “the leader” 2 years back - and hey it works.

2 Likes