def get_session_token_verified(self, device_id, state_token, otp_token=None, allowed_origin='<STR_LIT>', do_not_notify=False):
self.clean_error()<EOL>try:<EOL><INDENT>url = self.get_url(Constants.GET_TOKEN_VERIFY_FACTOR)<EOL>headers = self.get_authorized_headers()<EOL>if allowed_origin:<EOL><INDENT>headers.update({'<STR_LIT>': allowed_origin})<EOL><DEDENT>data = {<EOL>'<STR_LIT>': str(device_id),<EOL>'<STR_LIT>': state_token,<EOL>'<STR_LIT>': do_not_notify<EOL>}<EOL>if otp_token:<EOL><INDENT>data['<STR_LIT>'] = otp_token<EOL><DEDENT>response = self.execute_call('<STR_LIT>', url, headers=headers, json=data)<EOL>if response.status_code == <NUM_LIT:200>:<EOL><INDENT>return self.handle_session_token_response(response)<EOL><DEDENT>else:<EOL><INDENT>self.error = str(response.status_code)<EOL>self.error_description = self.extract_error_message_from_response(response)<EOL><DEDENT><DEDENT>except Exception as e:<EOL><INDENT>self.error = <NUM_LIT><EOL>self.error_description = e.args[<NUM_LIT:0>]<EOL><DEDENT>
Verify a one-time password (OTP) value provided for multi-factor authentication (MFA).

:param device_id: Provide the MFA device_id you are submitting for verification.
:type device_id: string

:param state_token: Provide the state_token associated with the MFA device_id you are submitting for verification.
:type state_token: string

:param otp_token: Provide the OTP value for the MFA factor you are submitting for verification.
:type otp_token: string

:param allowed_origin: Required for CORS requests only. Set to the Origin URI from which you are allowed to send a request using CORS.
:type allowed_origin: string

:param do_not_notify: When verifying MFA via Protect Push, set this to true to stop additional push notifications being sent to the OneLogin Protect device.
:type do_not_notify: bool

Returns a session token
:return: return the object if success
:rtype: SessionTokenInfo

See https://developers.onelogin.com/api-docs/1/users/verify-factor Verify Factor documentation