Closed johnhamelink closed 8 years ago
Thanks for letting me know. I'll look into it as soon as I can.
I've just pushed version 2.1.3 to hex. Can you let me know if that fixes the issue?
@riverrun I'm now getting a different error:
[info] POST /sessions
[debug] Processing by MeditationNow.SessionController.create/2
Parameters: %{"_csrf_token" => "Gx0lOwAyaiMLPRQ+dzNtIAZ1D2AXJgAAHqqouj2iIxZUNCZIBDHOQQ==", "_utf8" => "✓", "session" => %{"password" => "[FILTERED]", "username" => "johnhamelink"}}
Pipelines: [:browser]
[debug] QUERY OK source="users" db=1.7ms decode=2.6ms
SELECT u0."id", u0."username", u0."email", u0."password_hash", u0."inserted_at", u0."updated_at" FROM "users" AS u0 WHERE (u0."username" = $1) ["johnhamelink"]
[info] Sent 500 in 49ms
[error] #PID<0.393.0> running MeditationNow.Endpoint terminated
Server: localhost:4000 (http)
Request: POST /sessions
** (exit) an exception was raised:
** (ArgumentError) Wrong type. The password and hash need to be strings.
(comeonin) lib/comeonin/bcrypt.ex:122: Comeonin.Bcrypt.checkpw/2
(openmaize) lib/openmaize/login.ex:99: Openmaize.Login.check_pass/3
(openmaize) lib/openmaize/login.ex:85: Openmaize.Login.call/2
(meditation_now) web/controllers/session_controller.ex:1: MeditationNow.SessionController.phoenix_controller_pipeline/2
(meditation_now) lib/meditation_now/endpoint.ex:1: MeditationNow.Endpoint.instrument/4
(meditation_now) lib/phoenix/router.ex:261: MeditationNow.Router.dispatch/2
(meditation_now) web/router.ex:1: MeditationNow.Router.do_call/2
(meditation_now) lib/meditation_now/endpoint.ex:1: MeditationNow.Endpoint.phoenix_pipeline/1
(meditation_now) lib/plug/debugger.ex:123: MeditationNow.Endpoint."call (overridable 3)"/2
(meditation_now) lib/meditation_now/endpoint.ex:1: MeditationNow.Endpoint.call/2
(plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
(cowboy) src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
:point_up: That is because password_hash
is nil when registration happens.
This is because it seems like https://github.com/riverrun/openmaize/blob/master/priv/templates/phoenixauth/user_controller.ex#L24 didn't make it into the last release.
I think the problem is line 31, which should be changeset = User.auth_changeset(%User{}, user_params)
.
I'll have a fix ready later today.
Just released version 2.1.4.
In your case, just change line 21 of the user_controller file from User.changeset
to User.auth_changeset
-- I'm presuming that your ran mix openmaize.gen.phoenixauth
without the confirm option.
Let me know how you get on.
@riverrun Thanks, looks good :smile:
Hey there!
When using the latest version of openmaize from hex - either in my own app or with the openmaize-phoenix-example, when I attempt to login I receive an error claiming that there's no function clause matching
Openmaize.Login.call
.Here's the stacktrace which includes the function call that was attempted: