30 lines
848 B
Julia
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)
|