From df7ac93febbc694f81c2fb8ac93b97efd633a454 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Sat, 15 May 2021 23:34:06 +0800 Subject: [PATCH] Show error "Invalid JWT token". --- routers/auto_login_filter.go | 15 ++++++++++++++- web/src/App.js | 4 ++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/routers/auto_login_filter.go b/routers/auto_login_filter.go index a43b99b9..d2026dc5 100644 --- a/routers/auto_login_filter.go +++ b/routers/auto_login_filter.go @@ -18,7 +18,9 @@ import ( "fmt" "github.com/astaxie/beego/context" + "github.com/casdoor/casdoor/controllers" "github.com/casdoor/casdoor/object" + "github.com/casdoor/casdoor/util" ) func getSessionUser(ctx *context.Context) string { @@ -40,6 +42,16 @@ func setSessionUser(ctx *context.Context, user string) { ctx.Input.CruSession.SessionRelease(ctx.ResponseWriter) } +func returnRequest(ctx *context.Context, msg string) { + w := ctx.ResponseWriter + w.WriteHeader(200) + resp := &controllers.Response{Status: "error", Msg: msg} + _, err := w.Write([]byte(util.StructToJson(resp))) + if err != nil { + panic(err) + } +} + func AutoLoginFilter(ctx *context.Context) { query := ctx.Request.URL.RawQuery // query == "?access_token=123" @@ -54,7 +66,8 @@ func AutoLoginFilter(ctx *context.Context) { claims, err := object.ParseJwtToken(accessToken) if err != nil { - panic(err) + returnRequest(ctx, "Invalid JWT token") + return } userId := fmt.Sprintf("%s/%s", claims.Organization, claims.Username) diff --git a/web/src/App.js b/web/src/App.js index f8754992..7fdd043f 100644 --- a/web/src/App.js +++ b/web/src/App.js @@ -128,6 +128,10 @@ class App extends Component { if (res.status === "ok") { account = res.data; account.organization = res.data2; + } else { + if (res.msg === "Invalid JWT token") { + Setting.showMessage("error", `Failed to sign in: ${res.msg}`); + } } this.setState({