code: def account_info(remote, resp):
      
      gh = github3.login(token=resp['access_token'])
      me = gh.me()
      return dict(
          user=dict(
              email=_extract_email(gh),
              profile=dict(
                  username=me.login,
                  full_name=me.name,
              ),
          ),
          external_id=str(me.id),
          external_method='github'
      )
docs: Retrieve remote account information used to find local user.
  
      It returns a dictionary with the following structure:
  
      .. code-block:: python
  
          {
              'user': {
                  'email': '...',
                  'profile': {
                      'username': '...',
                      'full_name': '...',
                  }
              },
              'external_id': 'github-unique-identifier',
              'external_method': 'github',
          }
  
      Information inside the user dictionary are available for other modules.
      For example, they are used from the module invenio-userprofiles to fill
      the user profile.
  
      :param remote: The remote application.
      :param resp: The response.
      :returns: A dictionary with the user information.