本文整理汇总了Golang中github.com/dgrijalva/jwt-go.GetSigningMethod函数的典型用法代码示例。如果您正苦于以下问题:Golang GetSigningMethod函数的具体用法?Golang GetSigningMethod怎么用?Golang GetSigningMethod使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了GetSigningMethod函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: GenerateToken
func (a *authService) GenerateToken(user *schema.User) (*TokenFields, error) {
expiresAt := time.Now().Add(time.Hour * 2)
token := jwt.New(jwt.GetSigningMethod("HS256"))
token.Claims["uid"] = user.ID
token.Claims["uname"] = user.Username
token.Claims["iat"] = expiresAt.Unix()
accessToken, err := token.SignedString(a.SigningKey)
if err != nil {
return nil, err
}
// generate JWT access token
token = jwt.New(jwt.GetSigningMethod("HS256"))
token.Claims["uid"] = user.ID
token.Claims["uname"] = user.Username
token.Claims["iat"] = time.Now().Add(time.Hour * 24 * 14).Unix()
refreshToken, err := token.SignedString(a.RefreshKey)
if err != nil {
return nil, err
}
return &TokenFields{AccessToken: accessToken, RefreshToken: refreshToken, ExpiresAt: expiresAt}, nil
}
开发者ID:messagedb,项目名称:messagedb,代码行数:27,代码来源:auth.go
示例2: TestJWTToken
func TestJWTToken(t *testing.T) {
var err error
if privateKey, err = ioutil.ReadFile("rsa-test.key"); err != nil {
t.Fatal(err)
}
if publicKey, err = ioutil.ReadFile("rsa-test.pub"); err != nil {
t.Fatal(err)
}
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims["PERMISSION"] = "[email protected]"
token.Claims["exp"] = time.Now().Add(time.Hour * 72).Unix()
ts, err := token.SignedString(privateKey)
if err != nil {
t.Fatal(err)
}
if token, err = jwt.Parse(ts, func(ts *jwt.Token) (interface{}, error) {
return publicKey, nil
}); err != nil {
t.Fatal(err)
}
if token.Valid {
t.Log(token)
} else {
t.Log(token)
t.Fail()
}
}
开发者ID:marble58,项目名称:tiedot,代码行数:27,代码来源:rsa_test.go
示例3: Login
/**
TODO:
- Get email and password from post request
- Find user
**/
func (a *authController) Login(c *gin.Context) {
var userLogin models.UserLogin
if err := c.Bind(&userLogin); err != nil {
panic(err)
}
user, err := authResource.Login(userLogin.Email, userLogin.Password)
if err != nil {
c.Error(err)
return
}
token := jwt_lib.New(jwt_lib.GetSigningMethod("HS256"))
// Set some claims
token.Claims["exp"] = time.Now().Add(time.Hour * 1).Unix()
// Sign and get the complete encoded token as a string
apiKey, err := token.SignedString([]byte(config.GetSecret()))
if err != nil {
c.Error(apiErrors.ThrowError(apiErrors.ServerError))
return
}
// Remove password
user.Password = ""
c.JSON(200, gin.H{
"user": user,
"api-key": apiKey,
})
}
开发者ID:oblank,项目名称:forum,代码行数:34,代码来源:auth.go
示例4: New
// New creates a JwtAuth authenticator instance that provides middleware handlers
// and encoding/decoding functions for JWT signing.
func New(alg string, signKey []byte, verifyKey []byte) *JwtAuth {
return &JwtAuth{
signKey: signKey,
verifyKey: verifyKey,
signer: jwt.GetSigningMethod(alg),
}
}
开发者ID:ustrajunior,项目名称:minion,代码行数:9,代码来源:jwtauth.go
示例5: 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"})
}
}
开发者ID:grffn,项目名称:movier,代码行数:27,代码来源:auth.go
示例6: main
func main() {
r := gin.Default()
public := r.Group("/api")
public.GET("/", func(c *gin.Context) {
// Create the token
token := jwt_lib.New(jwt_lib.GetSigningMethod("HS256"))
// Set some claims
token.Claims["ID"] = "Christopher"
token.Claims["exp"] = time.Now().Add(time.Hour * 1).Unix()
// Sign and get the complete encoded token as a string
tokenString, err := token.SignedString([]byte(mysupersecretpassword))
if err != nil {
c.JSON(500, gin.H{"message": "Could not generate token"})
}
c.JSON(200, gin.H{"token": tokenString})
})
private := r.Group("/api/private")
private.Use(jwt.Auth(mysupersecretpassword))
/*
Set this header in your request to get here.
Authorization: Bearer `token`
*/
private.GET("/", func(c *gin.Context) {
c.JSON(200, gin.H{"message": "Hello from private"})
})
r.Run("localhost:8080")
}
开发者ID:doubledutch,项目名称:dd-vote,代码行数:33,代码来源:example.go
示例7: GenerateToken
// GenerateToken - generate Token string
func GenerateToken() string {
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims["exp"] = time.Now().Add(time.Hour * 72).Unix()
tokenString, err := token.SignedString(signKey)
fatal(err)
return tokenString
}
开发者ID:gabz75,项目名称:env-auth-go,代码行数:9,代码来源:token.go
示例8: NewWithParser
// NewWithParser is the same as New, except it supports custom parser settings
// introduced in ver. 2.4.0 of jwt-go
func NewWithParser(alg string, parser *jwt.Parser, signKey []byte, verifyKey []byte) *JwtAuth {
return &JwtAuth{
signKey: signKey,
verifyKey: verifyKey,
signer: jwt.GetSigningMethod(alg),
parser: parser,
}
}
开发者ID:ustrajunior,项目名称:minion,代码行数:10,代码来源:jwtauth.go
示例9: CreateToken
func CreateToken(hostUuid string, privateKey interface{}) string {
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims["hostUuid"] = hostUuid
signed, err := token.SignedString(privateKey)
if err != nil {
log.Fatal("Failed to parse private key.", err)
}
return signed
}
开发者ID:dx9,项目名称:websocket-proxy,代码行数:9,代码来源:utils.go
示例10: NewToken
func NewToken() tokenData {
t := tokenData{}
t.payload = make(map[string]interface{})
// initialize every token with ecryption algorithm and expiration time
t.encrytpionAlg = jwt.GetSigningMethod("RS256")
t.expirationTimeToAdd = expTime
return t
}
开发者ID:tucobenedicto,项目名称:jsonWebToken,代码行数:9,代码来源:jwt.go
示例11: handleLogin
func handleLogin(w http.ResponseWriter, r *http.Request) {
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims["ID"] = "This is my super fake ID"
token.Claims["exp"] = time.Now().Unix() + 30
tokenString, _ := token.SignedString(privateKey)
w.WriteHeader(http.StatusOK)
fmt.Fprintf(w, `{"token": %s}`, tokenString)
}
开发者ID:nanoninja,项目名称:goplay,代码行数:9,代码来源:main.go
示例12: CreateTokenWithPayload
func CreateTokenWithPayload(payload map[string]interface{}, privateKey interface{}) string {
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims = payload
signed, err := token.SignedString(privateKey)
if err != nil {
log.Fatal("Failed to parse private key.", err)
}
return signed
}
开发者ID:wlan0,项目名称:host-api,代码行数:9,代码来源:utils.go
示例13: createJWTToken
// createJWTToken generates the JWT token to be added to Request Headers
func createJWTToken(userID string) (string, error) {
// Create the token
token := jwt_lib.New(jwt_lib.GetSigningMethod("HS256"))
// Set some claims
token.Claims["ID"] = userID
token.Claims["exp"] = time.Now().Add(time.Hour * 1).Unix()
// Sign and get the complete encoded token as a string
tokenString, err := token.SignedString([]byte(config.TokenSecret))
return tokenString, err
}
开发者ID:dalvaren,项目名称:Daniel-Campos-Exercise,代码行数:11,代码来源:helper.go
示例14: createToken
func (m *defaultSessionManager) createToken(userID int64) (string, error) {
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims["uid"] = strconv.FormatInt(userID, 10)
token.Claims["exp"] = time.Now().Add(time.Minute * expiry).Unix()
tokenString, err := token.SignedString(m.signKey)
if err != nil {
return tokenString, errgo.Mask(err)
}
return tokenString, nil
}
开发者ID:sandbreaker,项目名称:photoshare,代码行数:10,代码来源:session.go
示例15: EncodeJwt
func EncodeJwt(secret Secret, claims *jwt.StandardClaims) (EncodedJwt, error) {
if secret == "" {
return "", nil
}
t := jwt.New(jwt.GetSigningMethod("HS256"))
t.Claims = claims
encoded, e := t.SignedString(secret)
return EncodedJwt(encoded), e
}
开发者ID:GodUseVPN,项目名称:seaweedfs,代码行数:10,代码来源:jwt.go
示例16: generateAssertion
func (rp *relyingParty) generateAssertion() (string, error) {
now := time.Now().Unix()
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims["iss"] = rp.cfg.ServiceAccountEmail
token.Claims["scope"] = "https://www.googleapis.com/auth/identitytoolkit"
token.Claims["aud"] = tokenEndpointURL
token.Claims["lat"] = now
token.Claims["exp"] = now + 3600
return token.SignedString(rp.cfg.priKey)
}
开发者ID:jarod,项目名称:gitkit-go,代码行数:10,代码来源:relyingparty.go
示例17: EncodeJwt
func EncodeJwt(secret Secret, claims map[string]interface{}) (EncodedJwt, error) {
if secret == "" {
return "", nil
}
t := jwt.New(jwt.GetSigningMethod("HS256"))
t.Claims = claims
encoded, e := t.SignedString(secret)
return EncodedJwt(encoded), e
}
开发者ID:tnextday,项目名称:seaweedfs,代码行数:10,代码来源:jwt.go
示例18: makeRandomUserToken
func makeRandomUserToken() (username string, tokenString string) {
token := jwt.New(jwt.GetSigningMethod("HS256"))
username, err := randutil.AlphaStringRange(5, 10)
errPanic(err, "Cannot random string, wtf?")
token.Claims["username"] = username
token.Claims["secret"] = time.Now().Add(time.Hour * 72).Unix()
tokenString, err = token.SignedString([]byte(mySigningKey))
errPanic(err, "Cannot sign string, wtf?")
return
}
开发者ID:phaikawl,项目名称:brogpal,代码行数:10,代码来源:servermain.go
示例19: getJWT
// Verify user identity and hand out a JWT.
func getJWT(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "application/json")
addCommonJwtRespHeaders(w, r)
// Verify identity
user := r.FormValue(JWT_USER_ATTR)
if user == "" {
http.Error(w, "Please pass JWT 'user' parameter", http.StatusBadRequest)
return
}
jwtCol := HttpDB.Use(JWT_COL_NAME)
if jwtCol == nil {
http.Error(w, "Server is missing JWT identity collection, please restart the server.", http.StatusInternalServerError)
return
}
userQuery := map[string]interface{}{
"eq": user,
"in": []interface{}{JWT_USER_ATTR}}
userQueryResult := make(map[int]struct{})
if err := db.EvalQuery(userQuery, jwtCol, &userQueryResult); err != nil {
tdlog.CritNoRepeat("Query failed in JWT identity collection : %v", err)
http.Error(w, "Query failed in JWT identity collection", http.StatusInternalServerError)
return
}
// Verify password
pass := r.FormValue(JWT_PASS_ATTR)
for recID := range userQueryResult {
rec, err := jwtCol.Read(recID)
if err != nil {
break
}
if rec[JWT_PASS_ATTR] != pass {
tdlog.CritNoRepeat("JWT: identitify verification failed from request sent by %s", r.RemoteAddr)
break
}
// Successful password match
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims = jwt.MapClaims{
JWT_USER_ATTR: rec[JWT_USER_ATTR],
JWT_COLLECTIONS_ATTR: rec[JWT_COLLECTIONS_ATTR],
JWT_ENDPOINTS_ATTR: rec[JWT_ENDPOINTS_ATTR],
JWT_EXPIRY: time.Now().Add(time.Hour * 72).Unix(),
}
var tokenString string
var e error
if tokenString, e = token.SignedString(privateKey); e != nil {
panic(e)
}
w.Header().Set("Authorization", "Bearer "+tokenString)
w.WriteHeader(http.StatusOK)
return
}
// ... password mismatch
http.Error(w, "Invalid password", http.StatusUnauthorized)
}
开发者ID:HouzuoGuo,项目名称:tiedot,代码行数:55,代码来源:jwt.go
示例20: createToken
func createToken(w http.ResponseWriter, userID string) (string, error) {
token := jwt.New(jwt.GetSigningMethod("RS256"))
token.Claims["uid"] = userID
token.Claims["exp"] = time.Now().Add(time.Minute * expiry).Unix()
tokenString, err := token.SignedString(signKey)
if err != nil {
return "", err
}
w.Header().Set(tokenHeader, tokenString)
return tokenString, nil
}
开发者ID:rand99,项目名称:photoshare,代码行数:11,代码来源:auth.go
注:本文中的github.com/dgrijalva/jwt-go.GetSigningMethod函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论