code: def get_authenticated_user(self, callback):
          
          self.require_setting(self._CLIENT_ID_SETTING, self._API_NAME)
          self.require_setting(self._CLIENT_SECRET_SETTING, self._API_NAME)
  
          if self.state:
              if (not self.get_argument('state', None) or
                  self.state != self.get_argument('state')):
                  LOGGER.error('State did not match: %s != %s',
                               self.state, self.get_argument('state'))
                  raise auth.AuthError('Problematic Reply from %s' %
                                       self._API_NAME)
  
          args = {'client_id': self.settings[self._CLIENT_ID_SETTING],
                  'client_secret': self.settings[self._CLIENT_SECRET_SETTING],
                  'code': self.get_argument('code'),
                  'redirect_uri': self.oauth2_redirect_uri()}
  
          http_client = self._get_auth_http_client()
          callback = self.async_callback(self._on_access_token, callback)
          http_client.fetch(self._OAUTH_ACCESS_TOKEN_URL,
                            method='POST',
                            headers={'Accept': self._ACCEPT},
                            user_agent=self._USER_AGENT,
                            body=auth.urllib_parse.urlencode(args),
                            callback=callback)
docs: Fetches the authenticated user
  
          :param method callback: The callback method to invoke