本文整理汇总了Golang中github.com/grffn/movier/db.Context.FindUser方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.FindUser方法的具体用法?Golang Context.FindUser怎么用?Golang Context.FindUser使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/grffn/movier/db.Context
的用法示例。
在下文中一共展示了Context.FindUser方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: LoginHandler
//LoginHandler Hndler for login method
func LoginHandler(context *gin.Context, database *db.Context) {
var model models.LoginModel
err := context.BindJSON(&model)
if err != nil {
log.Println(err)
context.AbortWithError(http.StatusBadRequest, err)
return
}
user := database.FindUser(model.UserID)
storedPassword, _ := base64.URLEncoding.DecodeString(user.Password)
salt, _ := base64.URLEncoding.DecodeString(user.Salt)
checkPassword, _ := util.GeneratePassword([]byte(model.Password), salt)
if bytes.Compare(storedPassword, checkPassword) == 0 {
token := jwt_lib.New(jwt_lib.GetSigningMethod("HS256"))
token.Claims["ID"] = user.Username
token.Claims["exp"] = time.Now().Add(time.Hour * 24).Unix()
tokenString, err := token.SignedString([]byte(secret))
if err != nil {
context.JSON(500, gin.H{"message": "Could not generate token"})
return
}
context.JSON(200, gin.H{"token": tokenString})
} else {
context.JSON(http.StatusUnauthorized, gin.H{"status": "Login or password is incorrect"})
}
}
示例2: CreateHandler
//CreateHandler Create new item
func CreateHandler(context *gin.Context, database *db.Context) {
model := models.DocModel{}
err := context.BindJSON(&model)
if err != nil {
context.AbortWithStatus(http.StatusBadRequest)
return
}
userID := context.MustGet("userId").(string)
user := database.FindUser(userID)
document := db.Document{
ID: bson.NewObjectId(),
UserID: user.ID,
Name: model.Name,
Tags: model.Tags,
Category: model.Category,
URL: model.URL,
MimeType: model.MimeType,
Authors: model.Authors,
}
database.NewDocument(document)
}