Golang JWT 示例 Posted on 2020-02 | Golang JWT 示例 Demo.env 1SECRET_KEY=secret_key main.go 123456789101112131415161718192021222324252627282930313233343536373839404142434445package mainimport ( "os" "fmt" "time" "github.com/joho/godotenv" "github.com/dgrijalva/jwt-go")func init() { // loads values from .env into the system if err := godotenv.Load(); err != nil { fmt.Print("No .env file found") }}func main() { SecretString, exists := os.LookupEnv("SECRET_KEY") if !exists { return } fmt.Println(SecretString) Secret := []byte(SecretString) type MyCustomClaims struct { ID int `json:"id"` jwt.StandardClaims } // Create the Claims claims := MyCustomClaims{ 10012, jwt.StandardClaims{ ExpiresAt: time.Time.AddDate(time.Now(),0, 0, 7).Unix(), Issuer: "localhost", }, } token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims) ss, err := token.SignedString(Secret) fmt.Printf("%v %v", ss, err)} Read more »
基于 dep 依赖管理的 Golang Gitlab CI 配置方法 Posted on 2020-02 | .gitlab-ci.yml 12345678910111213141516171819202122232425262728293031image: golang:latestvariables: REPO_NAME: {Your Repo}before_script: - mkdir -p $GOPATH/src/$(dirname $REPO_NAME) - ln -svf $CI_PROJECT_DIR $GOPATH/src/$REPO_NAME - cd $GOPATH/src/$REPO_NAME - go get -u github.com/golang/dep/cmd/depstages: - test - buildformat: stage: test script: - dep ensure - go testcompile: stage: build script: - dep ensure - go build -o main - mkdir mybinary && cp main mybinary/ artifacts: paths: - mybinary Read more »