thiagomajesk

thiagomajesk

Has anyone successfully integrated Pow Auth with LiveView yet?

Hi! I’ve been thinking about converting an existing app that uses Pow Auth to Liveview and was wondering if anyone had any success integrating both of them recently…

I tried collecting some context from the Pow repository but I don’t think the lib has provided any official support for it just yet (read more here). Since this is an old issue and the maintainer is a little absent from the repository recently, someone suggested that the addition of the on_mount/1 and attach_hook/4 callbacks could help on this front. However, it seems there are already some unanswered questions from one of the oldest issues about how exactly the lib should deal with the active WebSocket connection.

After studying the LiveBeats app repository for a little while, it seems that these problems are already solved with the new auth generator. However, upon looking at what mix phx.gen.auth generates, I’m not super thrilled about maintaining the 19 new files for a simple authentication solution.

Any thoughts?

Most Liked

derek-zhou

derek-zhou

You can look here
https://github.com/derek-zhou/liv

It is a hobby project and does not use even have user registration. However, it is liveview and it is using guardian. It is also a bit unorthodox because everything, even the login form, is in liveview.

I have use Guardian in the full capability in other projects but not in LiveView. I don’t think there would be any trouble to use the full Guardian with liveview though. The U/I layer and the authentication layer are independent.

thiagomajesk

thiagomajesk

Yeah, I’ve read this post before… If you look at the comments you’ll see that the author was considering migrating over to phx.gen.auth because of some session handling issues. A lot has changed since early 2021 though and I’d like to know if anyone has actually made any progress on that front.

I don’t remember the details but I recall that Pow is designed (or at least defaults to) a very aggresive session renewal model which means that your solution may miss an important aspect - the fact that Pow session may become invalid during the LiveView lifecycle resulting in allowing a user that’s actually logged out to act like he’s authenticated.

Also, and again not sure if it’s correct so please correct me if I’m wrong, aforementioned session renewal in Pow is based on recreating session every half an hour or so and since you can’t do that from LiveView without a HTTP request you’ll end up aleays expiring session if your app routes are live.

The problem is that phx.gen.auth seems a good fit for cases where you want flexibility, but the amount of code it generates does not justify its use for more traditional and simple use cases.

Where Next?

Popular in Discussions Top

matthias_toepp
I’d love to hear what people think about Wisp, the new Gleam web framework started by Gleam’s primary creator Louis Pilfold. Gleam, alon...
New
cvkmohan
The upcoming Phoenix 1.6 release looks very interesting. Became a habit to watch the commits - and - what they are bringing in. phx.gen...
New
gausby
I asked this very same question on twitter and got some interesting feedback, but I thought it would be a good question to ask here as we...
1207 39297 209
New
shishini
I think this twitter post and youtube video didn’t get as much attention as I hoped I am still new to Elixir, so can’t really judge ...
New
rms.mrcs
A couple of days ago I was discussing with a friend about different approaches to write microservices. He said that if he was going to w...
New
chulkilee
Here are the list of HTTP client libraries/wrappers, and some thoughts on HTTP client in general. I’d like to hear from others how they w...
New
griffinbyatt
Sobelow Sobelow is a security-focused static analysis tool for the Phoenix framework. For security researchers, it is a useful tool for g...
New
AstonJ
Seen any cool LiveView demos, sample apps or examples? Please post them here! :003:
New
paulanthonywilson
I like Umbrella projects and pretty much always use them for personal Elixir stuff, especially Nerves things. But I don’t think this is ...
New
slashdotdash
Phoenix Live View is now publicly available on GitHub. Here’s Chris McCord’s tweet announcing making it public.
New

Other popular topics Top

malloryerik
Hi, this is for people who, like me, have had some friction using .html.heex templates in VSCode. The solution seems to be, in a hyphena...
New
WestKeys
Currently suffering from paralysis by [HTTP client] analysis. This is rather unusual in Elixirland as there tends to be consensus on the ...
New
shahryarjb
Hello, I have map which I want to convert it to string like this: the map: %{last_name: "tavakkoli", name: "shahryar"} the string I ne...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
saif
Hello everyone, Long time lurker first time poster here. I’ve recently begun working on Elixir full-time again! :raised_hands: It’s been...
New
rms.mrcs
Hi, I need to transform a list of numbers into a map where the keys are the indexes and the values are the original values of the list. ...
New
shijith.k
I am trying to start a new phoenix project with elixir 1.9, but mix phx.new does not work. It says that ** (Mix) The task "phx.new" could...
New
AstonJ
We’ve put together this wiki for Phoenix LiveView - please feel free to add any info you feel is worth including. What is Phoenix LiveV...
New
joaquinalcerro
Hi there, I am working with Ecto-Postgresql and I need to call all of the records from a specific table but the table has 40,000 records...
New
hariharasudhan94
Lets say I have map like this fetching from my database %{"_id" => #BSON.ObjectId<58eb1a7a9ad169198c3dXXXX>, "email" => ...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement