code: async def get_authenticated_user(
          self, http_client: httpclient.AsyncHTTPClient = None
      ) -> Dict[str, Any]:
          
          handler = cast(RequestHandler, self)
          request_key = escape.utf8(handler.get_argument("oauth_token"))
          oauth_verifier = handler.get_argument("oauth_verifier", None)
          request_cookie = handler.get_cookie("_oauth_request_token")
          if not request_cookie:
              raise AuthError("Missing OAuth request token cookie")
          handler.clear_cookie("_oauth_request_token")
          cookie_key, cookie_secret = [
              base64.b64decode(escape.utf8(i)) for i in request_cookie.split("|")
          ]
          if cookie_key != request_key:
              raise AuthError("Request token does not match cookie")
          token = dict(
              key=cookie_key, secret=cookie_secret
          )  # type: Dict[str, Union[str, bytes]]
          if oauth_verifier:
              token["verifier"] = oauth_verifier
          if http_client is None:
              http_client = self.get_auth_http_client()
          assert http_client is not None
          response = await http_client.fetch(self._oauth_access_token_url(token))
          access_token = _oauth_parse_response(response.body)
          user = await self._oauth_get_user_future(access_token)
          if not user:
              raise AuthError("Error getting user")
          user["access_token"] = access_token
          return user
docs: Gets the OAuth authorized user and access token.
  
          This method should be called from the handler for your
          OAuth callback URL to complete the registration process. We run the
          callback with the authenticated user dictionary.  This dictionary
          will contain an ``access_key`` which can be used to make authorized
          requests to this service on behalf of the user.  The dictionary will
          also contain other fields such as ``name``, depending on the service
          used.
  
          .. versionchanged:: 6.0
  
             The ``callback`` argument was removed. Use the returned
             awaitable object instead.