code: def get_authorization_url(self, acr_values=None, prompt=None, scope=None,
                                custom_params=None):
          
          params = {"oxd_id": self.oxd_id}
  
          if scope and isinstance(scope, list):
              params["scope"] = scope
  
          if acr_values and isinstance(acr_values, list):
              params["acr_values"] = acr_values
  
          if prompt and isinstance(prompt, str):
              params["prompt"] = prompt
  
          if custom_params:
              params["custom_parameters"] = custom_params
  
          logger.debug("Sending command `get_authorization_url` with params %s",
                       params)
          response = self.msgr.request("get_authorization_url", **params)
          logger.debug("Received response: %s", response)
  
          if response['status'] == 'error':
              raise OxdServerError(response['data'])
          return response['data']['authorization_url']
docs: Function to get the authorization url that can be opened in the
          browser for the user to provide authorization and authentication
  
          Parameters:
              * **acr_values (list, optional):** acr values in the order of priority
              * **prompt (string, optional):** prompt=login is required if you want to force alter current user session (in case user is already logged in from site1 and site2 constructs authorization request and want to force alter current user session)
              * **scope (list, optional):** scopes required, takes the one provided during site registrations by default
              * **custom_params (dict, optional):** Any custom arguments that the client wishes to pass on to the OP can be passed on as extra parameters to the function
  
          Returns:
              **string:** The authorization url that the user must access for authentication and authorization
  
          Raises:
              **OxdServerError:** If the oxd throws an error for any reason.