func getSptFromCachedToken(oauthConfig azure.OAuthConfig, clientID, resource string, callbacks ...azure.TokenRefreshCallback) (*azure.ServicePrincipalToken, error) { token, err := azure.LoadToken(tokenCachePath) if err != nil { return nil, fmt.Errorf("failed to load token from cache: %v", err) } spt, _ := azure.NewServicePrincipalTokenFromManualToken( oauthConfig, clientID, resource, *token, callbacks...) return spt, nil }
// 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. func tokenFromFile(say func(string), oauthCfg azure.OAuthConfig, tokenPath, clientID, resource string, callback azure.TokenRefreshCallback) (*azure.ServicePrincipalToken, error) { say(fmt.Sprintf("Loading auth token from file: %s", 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 }