Size: a a a

Эликсир и Вунш

2018 March 28

VH

Vildulv Hexenmeister in Эликсир и Вунш
тогда уж лучше https://blog.linuxmint.com/?p=3528
источник

AD

Artem Denezhny in Эликсир и Вунш
Василий
вот эту штуку заказывал http://amperka.ru/product/iskra-js   на js можно программировать.
цена приятная, для самоделок прикольная штука

но esp мало кто сделает в автоматизации на коленке))
источник

K

Konstantin in Эликсир и Вунш
Dmitry Shpagin
300Гц процессор за 200 баксов, распберри пи повкуснее выглядит как-то, не?
Солидарен, распбери поудобнее будет и чистый elixir
источник
2018 April 01

F

Franco in Эликсир и Вунш
ArgumentError at POST /sessions
Wrong type. The password and hash need to be strings.
источник

F

Franco in Эликсир и Вунш
import Comeonin.Bcrypt, only: [checkpw: 2, dummy_checkpw: 0]
def login_by_username_and_pass(conn, username, given_pass, opts) do
repo = Keyword.fetch!(opts, :repo)
user = repo.get_by(Rumbl.User, username: username)
cond do
user && checkpw(given_pass, user.password_hash) ->
{:ok, login(conn, user)}
user ->
{:error, :unauthorized, conn}
true ->
dummy_checkpw()
{:error, :not_found, conn}
end
end
источник

F

Franco in Эликсир и Вунш
привет, подскажите че надо ей, если неправильный пароль то пишет неправильный
источник

F

Franco in Эликсир и Вунш
а если правильный то такую ошибку
источник

АТ

Алексей Терехов in Эликсир и Вунш
так там вроде все написано - или пароль, или hash не являются строкой
выведите в консольку и то, и другое, посмотрите значения и откуда они могли прийти не строками
источник

F

Franco in Эликсир и Вунш
а как это делат ь?
источник

M

Moi_nik in Эликсир и Вунш
> the password and hash need to be strings.
Пароль в кавычках? В функцию должна прийти строка, приходит не строка = ошибка типа данных.
источник

F

Franco in Эликсир и Вунш
def create(conn, %{"session" => %{"username" => user, "password" => pass}}) do
case Rumbl.Auth.login_by_username_and_pass(conn, user, pass, repo: Repo) do
{:ok, conn} ->
conn
|> put_flash(:info, "Welcome back!")
|> redirect(to: page_path(conn, :index))
{:error, _reason, conn} ->
conn
|> put_flash(:error, "Invalid username/password combination")
|> render("new.html")
end
end
источник

F

Franco in Эликсир и Вунш
def create(conn, %{"session" => %{"username" => user, "password" => pass}}) do
источник

F

Franco in Эликсир и Вунш
а может это виновато?
источник

M

Moi_nik in Эликсир и Вунш
Возможно. Надо смотреть в консоли тело запроса и ответа.
источник

M

Moi_nik in Эликсир и Вунш
источник

F

Franco in Эликсир и Вунш
Это я сравниваю
источник

F

Franco in Эликсир и Вунш
Не помогает
источник

F

Franco in Эликсир и Вунш
[info] POST /sessions
[debug] Processing by Rumbl.SessionController.create/2
 Parameters: %{"_csrf_token" => "MwAlSTBvMDYYIUotXyoeOBF6FzcwNgAAguG3xYUNqTxEhkwpR0quUg==", "_utf8" => "✓", "session" => %{"password" => "[FILTERED]", "username" => "wwwww"}}
 Pipelines: [:browser]
[debug] QUERY OK source="users" db=12.5ms decode=0.1ms queue=1.0ms
SELECT u0."id", u0."name", u0."username", u0."password_hash", u0."inserted_at", u0."updated_at" FROM "users" AS u0 WHERE (u0."username" = $1) ["wwwww"]
[info] Sent 500 in 100ms
[error] #PID<0.531.0> running Rumbl.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
       (rumbl) web/controllers/auth.ex:28: Rumbl.Auth.login_by_username_and_pass/4
       (rumbl) web/controllers/session_controller.ex:11: Rumbl.SessionController.create/2
       (rumbl) web/controllers/session_controller.ex:1: Rumbl.SessionController.action/2
       (rumbl) web/controllers/session_controller.ex:1: Rumbl.SessionController.phoenix_controller_pipeline/2
       (rumbl) lib/rumbl/endpoint.ex:1: Rumbl.Endpoint.instrument/4
       (rumbl) lib/phoenix/router.ex:261: Rumbl.Router.dispatch/2
       (rumbl) web/router.ex:1: Rumbl.Router.do_call/2
       (rumbl) lib/rumbl/endpoint.ex:1: Rumbl.Endpoint.phoenix_pipeline/1
       (rumbl) lib/plug/debugger.ex:123: Rumbl.Endpoint."call (overridable 3)"/2
       (rumbl) lib/rumbl/endpoint.ex:1: Rumbl.Endpoint.call/2
       (plug) lib/plug/adapters/cowboy/handler.ex:15: Plug.Adapters.Cowboy.Handler.upgrade/4
       (cowboy) /home/arkadiy/old/rumbl/deps/cowboy/src/cowboy_protocol.erl:442: :cowboy_protocol.execute/4
источник

F

Franco in Эликсир и Вунш
Given what you have provided:
def create(conn, %{"session" => %{"email" => email, "password" => pass}}) do
We know pass definitely exists. The line:
user && checkpw(given_pass, user.password_hash)
Would cause an error is password_hash is nil for the user. You can fix this by doing:
user && checkpw(given_pass, Map.get(user, :password_hash, ""))`
источник

F

Franco in Эликсир и Вунш
вот такую подсказку еще нашел, но тож не работает
источник