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)<EOL>self.__last_request = authn_request.get_xml()<EOL>self.__last_request_id = authn_request.get_id()<EOL>saml_request = authn_request.get_request()<EOL>parameters = {'<STR_LIT>': saml_request}<EOL>if return_to is not None:<EOL><INDENT>parameters['<STR_LIT>'] = return_to<EOL><DEDENT>else:<EOL><INDENT>parameters['<STR_LIT>'] = OneLogin_Saml2_Utils.get_self_url_no_query(self.__request_data)<EOL><DEDENT>security = self.__settings.get_security_data()<EOL>if security.get('<STR_LIT>', False):<EOL><INDENT>parameters['<STR_LIT>'] = security['<STR_LIT>']<EOL>parameters['<STR_LIT>'] = self.build_request_signature(saml_request, parameters['<STR_LIT>'], security['<STR_LIT>'])<EOL><DEDENT>return self.redirect_to(self.get_sso_url(), parameters)<EOL>
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