text: Title: Authentication Error
  Body: <!-- Please search existing issues to avoid creating duplicates. -->
  
  ### Environment Information
  
  -   geemap version: 0.8.18
  -   Python version: 3.9.0
  -   Operating System: MacOS Big Sur 11.5
  
  ### Description
  
  Attempting to install/start geemap. Authentication error in notebook and CLI.
  
  ### What I Did
  
  In Notebook - 
  ```
  Enter verification code: ENTERED VERIFICATION CODE
  
  ---------------------------------------------------------------------------
  FileNotFoundError                         Traceback (most recent call last)
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/data.py in get_persistent_credentials()
      218   try:
  --> 219     tokens = json.load(open(oauth.get_credentials_path()))
      220     refresh_token = tokens['refresh_token']
  
  FileNotFoundError: [Errno 2] No such file or directory: '/Users/gavinpirrie/.config/earthengine/credentials'
  
  During handling of the above exception, another exception occurred:
  
  EEException                               Traceback (most recent call last)
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/geemap/common.py in ee_initialize(token_name)
       81 
  ---> 82             ee.Initialize()
       83         except Exception:
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/__init__.py in Initialize(credentials, opt_url, cloud_api_key, http_transport, project)
      114   if credentials == 'persistent':
  --> 115     credentials = data.get_persistent_credentials()
      116   data.initialize(
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/data.py in get_persistent_credentials()
      228   except IOError:
  --> 229     raise ee_exception.EEException(
      230         'Please authorize access to your Earth Engine account by '
  
  EEException: Please authorize access to your Earth Engine account by running
  
  earthengine authenticate
  
  in your command line, and then retry.
  
  During handling of the above exception, another exception occurred:
  
  SSLCertVerificationError                  Traceback (most recent call last)
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
     1341             try:
  -> 1342                 h.request(req.get_method(), req.selector, req.data, headers,
     1343                           encode_chunked=req.has_header('Transfer-encoding'))
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py in request(self, method, url, body, headers, encode_chunked)
     1254         """Send a complete request to the server."""
  -> 1255         self._send_request(method, url, body, headers, encode_chunked)
     1256 
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py in _send_request(self, method, url, body, headers, encode_chunked)
     1300             body = _encode(body, 'body')
  -> 1301         self.endheaders(body, encode_chunked=encode_chunked)
     1302 
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py in endheaders(self, message_body, encode_chunked)
     1249             raise CannotSendHeader()
  -> 1250         self._send_output(message_body, encode_chunked=encode_chunked)
     1251 
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py in _send_output(self, message_body, encode_chunked)
     1009         del self._buffer[:]
  -> 1010         self.send(msg)
     1011 
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py in send(self, data)
      949             if self.auto_open:
  --> 950                 self.connect()
      951             else:
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py in connect(self)
     1423 
  -> 1424             self.sock = self._context.wrap_socket(self.sock,
     1425                                                   server_hostname=server_hostname)
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py in wrap_socket(self, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, session)
      499         # ctx._wrap_socket()
  --> 500         return self.sslsocket_class._create(
      501             sock=sock,
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py in _create(cls, sock, server_side, do_handshake_on_connect, suppress_ragged_eofs, server_hostname, context, session)
     1039                         raise ValueError("do_handshake_on_connect should not be specified for non-blocking sockets")
  -> 1040                     self.do_handshake()
     1041             except (OSError, ValueError):
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py in do_handshake(self, block)
     1308                 self.settimeout(None)
  -> 1309             self._sslobj.do_handshake()
     1310         finally:
  
  SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1122)
  
  During handling of the above exception, another exception occurred:
  
  URLError                                  Traceback (most recent call last)
  <ipython-input-6-1d393d38f16f> in <module>
        2 import geemap
        3 
  ----> 4 Map = geemap.Map()
        5 
        6 # To view exactly where
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/geemap/geemap.py in __init__(self, **kwargs)
       35 
       36         if kwargs["ee_initialize"]:
  ---> 37             ee_initialize()
       38 
       39         # Default map center location (lat, lon) and zoom level
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/geemap/common.py in ee_initialize(token_name)
       82             ee.Initialize()
       83         except Exception:
  ---> 84             ee.Authenticate()
       85             ee.Initialize()
       86 
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/__init__.py in Authenticate(authorization_code, quiet, code_verifier)
       87     code_verifier: PKCE verifier to prevent auth code stealing.
       88   """
  ---> 89   oauth.authenticate(authorization_code, quiet, code_verifier)
       90 
       91 
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/oauth.py in authenticate(cli_authorization_code, quiet, cli_code_verifier)
      233   webbrowser.open_new(auth_url)
      234 
  --> 235   _obtain_and_write_token(None, code_verifier)  # Will prompt for auth_code.
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/oauth.py in _obtain_and_write_token(auth_code, code_verifier)
      139     auth_code = input('Enter verification code: ')
      140   assert isinstance(auth_code, six.string_types)
  --> 141   token = request_token(auth_code.strip(), code_verifier)
      142   write_token(token)
      143   print('\nSuccessfully saved authorization token.')
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/oauth.py in request_token(auth_code, code_verifier)
       82 
       83   try:
  ---> 84     response = request.urlopen(
       85         TOKEN_URI,
       86         parse.urlencode(request_args).encode()).read().decode()
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
      212     else:
      213         opener = _opener
  --> 214     return opener.open(url, data, timeout)
      215 
      216 def install_opener(opener):
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py in open(self, fullurl, data, timeout)
      515 
      516         sys.audit('urllib.Request', req.full_url, req.data, req.headers, req.get_method())
  --> 517         response = self._open(req, data)
      518 
      519         # post-process response
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py in _open(self, req, data)
      532 
      533         protocol = req.type
  --> 534         result = self._call_chain(self.handle_open, protocol, protocol +
      535                                   '_open', req)
      536         if result:
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py in _call_chain(self, chain, kind, meth_name, *args)
      492         for handler in handlers:
      493             func = getattr(handler, meth_name)
  --> 494             result = func(*args)
      495             if result is not None:
      496                 return result
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py in https_open(self, req)
     1383 
     1384         def https_open(self, req):
  -> 1385             return self.do_open(http.client.HTTPSConnection, req,
     1386                 context=self._context, check_hostname=self._check_hostname)
     1387 
  
  /Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py in do_open(self, http_class, req, **http_conn_args)
     1343                           encode_chunked=req.has_header('Transfer-encoding'))
     1344             except OSError as err: # timeout error
  -> 1345                 raise URLError(err)
     1346             r = h.getresponse()
     1347         except:
  
  URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1122)>
  
  ```
  
  Tried to authenticate in CLI - 
  
  ```
  gavinpirrie in ~
  $ earthengine authenticate
  To authorize access needed by Earth Engine, open the following URL in a web browser and follow the instructions. If the web browser does not start automatically, please manually browse the URL below.
  
      https://accounts.google.com/o/oauth2/auth?client_id=51.....
  
  The authorization workflow will generate a code, which you should paste in the box below. 
  Enter verification code: VERIFICATION CODE
  Traceback (most recent call last):
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1342, in do_open
      h.request(req.get_method(), req.selector, req.data, headers,
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1255, in request
      self._send_request(method, url, body, headers, encode_chunked)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1301, in _send_request
      self.endheaders(body, encode_chunked=encode_chunked)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1250, in endheaders
      self._send_output(message_body, encode_chunked=encode_chunked)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1010, in _send_output
      self.send(msg)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 950, in send
      self.connect()
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/http/client.py", line 1424, in connect
      self.sock = self._context.wrap_socket(self.sock,
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 500, in wrap_socket
      return self.sslsocket_class._create(
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1040, in _create
      self.do_handshake()
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ssl.py", line 1309, in do_handshake
      self._sslobj.do_handshake()
  ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1122)
  
  During handling of the above exception, another exception occurred:
  
  Traceback (most recent call last):
    File "/Library/Frameworks/Python.framework/Versions/3.9/bin/earthengine", line 33, in <module>
      sys.exit(load_entry_point('earthengine-api==0.1.277', 'console_scripts', 'earthengine')())
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/cli/eecli.py", line 84, in main
      _run_command()
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/cli/eecli.py", line 63, in _run_command
      dispatcher.run(args, config)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/cli/commands.py", line 352, in run
      self.command_dict[vars(args)[self.dest]].run(args, config)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/cli/commands.py", line 385, in run
      ee.Authenticate(**args_auth)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/__init__.py", line 89, in Authenticate
      oauth.authenticate(authorization_code, quiet, code_verifier)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/oauth.py", line 235, in authenticate
      _obtain_and_write_token(None, code_verifier)  # Will prompt for auth_code.
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/oauth.py", line 141, in _obtain_and_write_token
      token = request_token(auth_code.strip(), code_verifier)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/ee/oauth.py", line 84, in request_token
      response = request.urlopen(
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 214, in urlopen
      return opener.open(url, data, timeout)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 517, in open
      response = self._open(req, data)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 534, in _open
      result = self._call_chain(self.handle_open, protocol, protocol +
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 494, in _call_chain
      result = func(*args)
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1385, in https_open
      return self.do_open(http.client.HTTPSConnection, req,
    File "/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/urllib/request.py", line 1345, in do_open
      raise URLError(err)
  urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1122)>
  ```
  