util.go 773 B

12345678910111213141516171819202122232425262728293031
  1. package config
  2. import (
  3. "encoding/base64"
  4. "encoding/json"
  5. "github.com/gravitl/netmaker/logger"
  6. "github.com/gravitl/netmaker/models"
  7. )
  8. var (
  9. // GuiActive - indicates if gui is active or not
  10. GuiActive = false
  11. // GuiRun - holds function for main to call
  12. GuiRun interface{}
  13. )
  14. // ParseAccessToken - used to parse the base64 encoded access token
  15. func ParseAccessToken(token string) (*models.AccessToken, error) {
  16. tokenbytes, err := base64.StdEncoding.DecodeString(token)
  17. if err != nil {
  18. logger.Log(0, "error decoding token", err.Error())
  19. return nil, err
  20. }
  21. var accesstoken models.AccessToken
  22. if err := json.Unmarshal(tokenbytes, &accesstoken); err != nil {
  23. logger.Log(0, "error decoding token", err.Error())
  24. return nil, err
  25. }
  26. return &accesstoken, nil
  27. }