code: func tokenFromFile(oauthCfg azure.OAuthConfig, tokenPath, clientID, resource string,
  	callback azure.TokenRefreshCallback) (*azure.ServicePrincipalToken, error) {
  	log.Debug("Loading auth token from file", logutil.Fields{"path": tokenPath})
  	if _, err := os.Stat(tokenPath); err != nil {
  		if os.IsNotExist(err) { // file not found
  			return nil, nil
  		}
  		return nil, err
  	}
  
  	token, err := azure.LoadToken(tokenPath)
  	if err != nil {
  		return nil, fmt.Errorf("Failed to load token from file: %v", err)
  	}
  
  	spt, err := azure.NewServicePrincipalTokenFromManualToken(oauthCfg, clientID, resource, *token, callback)
  	if err != nil {
  		return nil, fmt.Errorf("Error constructing service principal token: %v", err)
  	}
  	return spt, nil
  }
docs: // tokenFromFile returns a token from the specified file if it is found, otherwise
  // returns nil. Any error retrieving or creating the token is returned as an error.