public AuthModule()
: base(Database.Instance.GlobalSettings.url_base + "/auth")
{
///////////////////////////////////////////////////////////////////////////////////////////
// Login
// The Post["/"] method returns the api key for subsequent REST calls.
Post["/"] = x =>
{
string apiKey = UserDatabase.LoginUser((string)this.Request.Form.Username,
(string)this.Request.Form.Password);
return(string.IsNullOrEmpty(apiKey)
? new Response {
StatusCode = HttpStatusCode.Unauthorized
}
: this.Response.AsJson(new { ApiKey = apiKey }));
};
///////////////////////////////////////////////////////////////////////////////////////////
// Logout
// Destroy the api key.
Delete["/"] = x =>
{
var apiKey = (string)this.Request.Form.ApiKey;
UserDatabase.RemoveApiKey(apiKey);
return(new Response {
StatusCode = HttpStatusCode.OK
});
};
}