我目前正在制作一个 API(使用 go)并且我正在处理会话部分。在研究了 session 使用什么之后,我发现 JWT 真的很有趣。
但是,在学习了一些教程后,我不确定如何使用它。所以这是我的想法:
func main() {
router := mux.NewRouter().StrictSlash(true)
router.HandleFunc("/login", login)
router.HandleFunc("/logout", logout)
router.HandleFunc("/register", register)
http.ListenAndServe(":8080", router)
}
处理完这些请求后,我创建了不同的函数。
func login(w http.ResponseWriter, r *http.Request) {
/*
Here I just have to search in my database (SQL, I know how to do it). If the user is registered, I create a token and give it to him, but how can I do it?
*/
}
func logout(w http.ResponseWriter, r *http.Request) {
/*
I get a token and stop/delete it?
*/
}
func register(w http.ResponseWriter, r *http.Request) {
/*
I search if the user isn't register and then, if it isn't, I create a user in the database (I know how to do it). I connect him but again, how to make a new token?
*/
}
网络上的许多教程似乎很难,但我只想要简单的东西。我只想要一个句柄包(上面的代码),它与一个服务包一起工作,有一个引擎令牌认证之类的东西。
我不确定的第二点是代币的保存。如果用户连接自己,那么什么是最好的?每次用户运行他们的应用程序时,应用程序都会连接自己并从保存的信息(用户/密码)中获取新令牌,还是应用程序永远保存令牌?那么服务器呢,令牌是用 JWT 自动管理和保存的,还是我必须把它放在我的 sql 数据库中?
谢谢您帮忙 !
翻翻过去那场雪
千巷猫影
茅侃侃
相关分类