JlSonic/login.jl

30 lines
848 B
Julia

using MD5
using HTTP
using JSON2
function getlogin(app, req)
query = HTTP.URIs.queryparams(req[:query])
req[:login] = Dict(:name => string(get(query, "u", "")),
:token => get(query, "t", ""),
:salt => get(query, "s", ""),
:password => get(query, "p", ""),
:login => false)
return app(req)
end
function checkpassword(app, req)
user = JlSonic.checkpass(req[:login][:name],
req[:login][:salt],
req[:login][:token],
req[:login][:password])
if user == nothing
req[:login][:login] = false
else
req[:login][:login] = true
req[:login][:user] = user
end
return app(req)
end
sonic_login = stack(getlogin, checkpassword)