class_docstr: Abstract implementation of OAuth 2.0.
  
  See `FacebookGraphMixin` or `GoogleOAuth2Mixin` below for example
  implementations.
  
  Class attributes:
  
  * ``_OAUTH_AUTHORIZE_URL``: The service's authorization url.
  * ``_OAUTH_ACCESS_TOKEN_URL``:  The service's access token url.
class_docstr_tok: ["Abstract","implementation","of","OAuth","2.0",".","See","`","FacebookGraphMixin","`","or","`","GoogleOAuth2Mixin","`","below","for","example","implementations",".","Class","attributes",":","*","``","_OAUTH_AUTHORIZE_URL","``",":","The","service","'s","authorization","url",".","*","``","_OAUTH_ACCESS_TOKEN_URL","``",":","The","service","'s","access","token","url","."]
code: def _oauth_request_token_url(
      self,
      redirect_uri: Optional[str] = None,
      client_id: Optional[str] = None,
      client_secret: Optional[str] = None,
      code: Optional[str] = None,
      extra_params: Optional[Dict[str, Any]] = None,
  ) -> str:
      url = self._OAUTH_ACCESS_TOKEN_URL  # type: ignore
      args = {}  # type: Dict[str, str]
      if redirect_uri is not None:
          args["redirect_uri"] = redirect_uri
      if code is not None:
          args["code"] = code
      if client_id is not None:
          args["client_id"] = client_id
      if client_secret is not None:
          args["client_secret"] = client_secret
      if extra_params:
          args.update(extra_params)
      return url_concat(url, args)
  
imports: import base64
  import binascii
  import hashlib
  import hmac
  import time
  import urllib.parse
  import uuid
  import warnings
  from tornado import httpclient
  from tornado import escape
  from tornado.httputil import url_concat
  from tornado.util import unicode_type
  from tornado.web import RequestHandler
  from typing import List, Any, Dict, cast, Iterable, Union, Optional
label_desc: Use image node_id 2 for calling the OAuth2Mixin obj's underlying member method code with example usage: obj._oauth_request_token_url(redirect_uri, client_id, client_secret, code, extra_params) and returns: url_concat