def METHOD_NAME(self):
    content = {}
    if hasattr(self.ctx, 'credentials') and self.ctx.credentials:
        content = self.ctx.credentials
    elif 'AZURE_CREDENTIALS' in os.environ:
        content = os.environ.get('AZURE_CREDENTIALS', None)
        content = json.loads(content) if content else {}
    else:
        #look for service principal credentials
        if self._credentials_file_exist():
            with open(self.creds_file, 'r') as file:
                content = json.loads(file.read())
        else:
            content = self._load_azure_cred_file()
            if not content.get('subscription_id') and not self.ctx.config.get('use_server'):
                from azureml.core.authentication import InteractiveLoginAuthentication
                #fallback to force browser login for token
                interactive_auth = InteractiveLoginAuthentication(force=True)
                interactive_auth.get_authentication_header()
                content = self._load_azure_cred_file()
    self.subscription_id = content.get('subscription_id')
    self.directory_tenant_id = content.get('directory_tenant_id')
    self.application_client_id = content.get('application_client_id')
    self.client_secret = content.get('client_secret')
    return self