Aurelia auth - 自定义响应消息 - 控制台错误

时间:2017-03-01 12:45:13

标签: c# .net authentication aurelia aurelia-auth

this aurelia-auth插件与.NET Core webAPI一起使用,我希望在用户尝试使用错误的用户名和/或密码登录时返回自定义错误。

的WebAPI:

public HttpResponseMessage Login()
{
    if (passwordValid)
    {
        return Request.CreateResponse(new LoginResponseViewModel { Token = token });
    }
    else
    {
        return Request.CreateResponse(HttpStatusCode.Unauthorized, "Incorrect username or password!");
    }
}

脚本

logIn(email, password) {
    return this.auth.login(email, password)
        .then(response => {
            console.log("success logged " + response);
        })
        .catch(err => {
            console.log("login failure: " + err);
        });
}
  1. 如何在登录功能捕获错误中访问未经授权的响应自定义消息“用户名或密码不正确”?
  2. 似乎aurelia-auth登录功能必须收到httpStatusCode.Unauthorized才能理解密码/用户名不正确,但会产生401 (Unauthorized)控制台错误。我可以抑制此控制台错误或者返回aurelia-auth理解的json结果吗?

1 个答案:

答案 0 :(得分:0)

1。如何访问自定义的未经授权的响应消息

服务器响应:

return Request.CreateResponse(HttpStatusCode.Unauthorized, "My message");

<强>客户端:

return this.auth.login(email, password)
    .then(response => {
        console.log("success logged " + response);
    })
    .catch(error => error.json().then(serverError =>
        console.log(serverError) //My message 
    ));

2。抑制控制台错误或返回aurelia-auth理解的json结果

当前版本的aurelia-auth无法返回aurelia-auth理解的json结果。

我决定用aurelia-auth替换当前的aurelia-authentication包。

Aurelia-authenticationaurelia-auth的分支,它本身就是伟大的Satellizer library的一个端口。使用新包我现在可以做更多,(刷新令牌,从服务器返回自定义消息等)..