J'espère créer un modèle d'authentification pour mon API reposant. J'espère utiliser le jeton d'API et j'utilise MVC dans le service Web et j'ai créé un contrôleur auth.go comme celui-ci.Comment créer un modèle d'authentification pour une API reposante à l'aide de golang gin?
package controllers
import (
"github.com/gin-gonic/gin"
"os"
//"github.com/jinzhu/gorm"
)
type AdsControllerAuth struct {
}
func (ac *AdsControllerAuth)TokenAuthMiddleware gin.HandlerFunc {
return func(c *gin.Context) {
token := c.Request.FormValue("api_token")
if token == "" {
respondWithError(401, "API token required", c)
return
}
if token != os.Getenv("API_TOKEN") {
respondWithError(401, "Invalid API token", c)
return
}
c.Next()
}
}
func respondWithError(code int,message string,c *gin.Context) {
resp := map[string]string{"error": message}
c.JSON(code, resp)
//c.Abort(code)
}
Cela ne fonctionne pas pour l'instant quelqu'un peut-il faire cela ou est-ce qu'il y a des exemples à se référer?
Qu'est-ce qui ne fonctionne pas? Avez-vous un 401? Êtes-vous sûr que les jetons correspondent exactement (y compris les sauts de ligne)? – elithrar
Je peux faire cette exécution mais puis-je savoir comment envoyer toke en utilisant curl J'utilise 'router.Use (TokenAuthMiddleware())' et j'obtiens '{" error ":" Jeton API requis "}' –