code: def login(self, return_to=None, force_authn=False, is_passive=False, set_nameid_policy=True, name_id_value_req=None):
          
          authn_request = OneLogin_Saml2_Authn_Request(self.__settings, force_authn, is_passive, set_nameid_policy, name_id_value_req)
          self.__last_request = authn_request.get_xml()
          self.__last_request_id = authn_request.get_id()
          saml_request = authn_request.get_request()
  
          parameters = {'SAMLRequest': saml_request}
          if return_to is not None:
              parameters['RelayState'] = return_to
          else:
              parameters['RelayState'] = OneLogin_Saml2_Utils.get_self_url_no_query(self.__request_data)
  
          security = self.__settings.get_security_data()
          if security.get('authnRequestsSigned', False):
              parameters['SigAlg'] = security['signatureAlgorithm']
              parameters['Signature'] = self.build_request_signature(saml_request, parameters['RelayState'], security['signatureAlgorithm'])
          return self.redirect_to(self.get_sso_url(), parameters)
docs: Initiates the SSO process.
  
          :param return_to: Optional argument. The target URL the user should be redirected to after login.
          :type return_to: string
  
          :param force_authn: Optional argument. When true the AuthNRequest will set the ForceAuthn='true'.
          :type force_authn: bool
  
          :param is_passive: Optional argument. When true the AuthNRequest will set the Ispassive='true'.
          :type is_passive: bool
  
          :param set_nameid_policy: Optional argument. When true the AuthNRequest will set a nameIdPolicy element.
          :type set_nameid_policy: bool
  
          :param name_id_value_req: Optional argument. Indicates to the IdP the subject that should be authenticated
          :type name_id_value_req: string
  
          :returns: Redirection URL
          :rtype: string