code: func getAuthToken(u *dt.User) (header *Header, authToken string, err error) {
  	scopes := []string{}
  	if u.Admin {
  		scopes = append(scopes, "admin")
  	}
  	header = &Header{
  		ID:       u.ID,
  		Email:    u.Email,
  		Scopes:   scopes,
  		IssuedAt: time.Now().Unix(),
  	}
  	byt, err := json.Marshal(header)
  	if err != nil {
  		return nil, "", err
  	}
  	hash := hmac.New(sha512.New, []byte(os.Getenv("ABOT_SECRET")))
  	_, err = hash.Write(byt)
  	if err != nil {
  		return nil, "", err
  	}
  	authToken = base64.StdEncoding.EncodeToString(hash.Sum(nil))
  	return header, authToken, nil
  }
docs: // getAuthToken returns a token used for future client authorization with a CSRF
  // token.