Session Golang iris会话不是持久的

Session Golang iris会话不是持久的,session,go,session-cookies,Session,Go,Session Cookies,我被困在让sessions在GoLang工作。特别是在虹膜内 使用“登录”调用路由将打印出令牌;然后,当我使用Restricted调用路由时,令牌是空的。我是做错了什么,还是误解了GoLang会议背后的概念 func Login(c *iris.Context) { username := c.FormValueString("email") password := c.FormValueString("password") test := "unauthorized"

我被困在让sessions在GoLang工作。特别是在虹膜内

使用“登录”调用路由将打印出令牌;然后,当我使用Restricted调用路由时,令牌是空的。我是做错了什么,还是误解了GoLang会议背后的概念

func Login(c *iris.Context) {
    username := c.FormValueString("email")
    password := c.FormValueString("password")
    test := "unauthorized"
    if username == "jon@snow.com" && password == "123abc!@#" {
        token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
            "name": "Jon Snow",
            "exp": time.Now().Add(time.Hour * 72).Unix(),
        })

        t, err := token.SignedString([]byte("SecretKey"))
        if err != nil {
            panic(err)
        }

        c.Session().Set("token", t)
        test = c.Session().GetString("token")
    }

    c.Text(200, test)
}



func Restricted(c *iris.Context) {  
    tokenString := c.Session().GetString("token")
    if tokenString != "" {
        c.Text(iris.StatusOK, tokenString)
    } else {
        c.Text(iris.StatusOK, "no Token")
    }
}

您应该首先导入会话包
go-get“github.com/kataras/iris/sessions”
然后使用
var sess=sessions.New(sessions.Config{Cookie:“Cookie name”})创建一个会话