code: async def get_authenticated_user(
          self, http_client: httpclient.AsyncHTTPClient = None
      ) -> Dict[str, Any]:
          
          handler = cast(RequestHandler, self)
          # Verify the OpenID response via direct request to the OP
          args = dict(
              (k, v[-1]) for k, v in handler.request.arguments.items()
          )  # type: Dict[str, Union[str, bytes]]
          args["openid.mode"] = u"check_authentication"
          url = self._OPENID_ENDPOINT  # type: ignore
          if http_client is None:
              http_client = self.get_auth_http_client()
          resp = await http_client.fetch(
              url, method="POST", body=urllib.parse.urlencode(args)
          )
          return self._on_authentication_verified(resp)
docs: Fetches the authenticated user data upon redirect.
  
          This method should be called by the handler that receives the
          redirect from the `authenticate_redirect()` method (which is
          often the same as the one that calls it; in that case you would
          call `get_authenticated_user` if the ``openid.mode`` parameter
          is present and `authenticate_redirect` if it is not).
  
          The result of this method will generally be used to set a cookie.
  
          .. versionchanged:: 6.0
  
              The ``callback`` argument was removed. Use the returned
              awaitable object instead.