def check_sms(request): userservices_url = 'http://webdev.cse.msu.edu/~morcoteg/Symantec/WSDL/vipuserservices-auth-1.4.wsdl' user_services_client = HTTPHandler.setConnection(userservices_url) user_service = SymantecUserServices(user_services_client) queryurl = 'http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-query-1.7.wsdl' queryclient = HTTPHandler.setConnection(queryurl) queryService = SymantecQueryServices(queryclient) user_info = queryService.getUserInfo(id_generator(), request.user) #user_credentials = user_info[7] # for item in user_credentials: # if "SMS" in item[1]: # phoneNum = item[0] if (request.method == "POST"): form = SMSForm(request.POST) if form.is_valid(): # post = form.save(commit=False) sms = form.cleaned_data["sms_code"] authenticate_result = user_service.authenticateCredentialWithSMS("CheckTest", "15177757651", sms) if ("0000" in authenticate_result.status): return render_to_response("succeed.html") else: return HttpResponse("Failure..." + str(request.user) + "15177757651") else: return HttpResponse("what?!")
def send_6_otp(request): queryurl = 'http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-query-1.7.wsdl' queryclient = HTTPHandler.setConnection(queryurl) queryService = SymantecQueryServices(queryclient) user_credentials = queryService.getUserInfo(id_generator(),request.user) # for item in user_credentials: # credentialId = item.credentialId if (request.method == "POST"): form = SixDigitForm(request.POST) if form.is_valid(): otp = form.cleaned_data["six_digit_code"] userservices_url = 'http://webdev.cse.msu.edu/~morcoteg/Symantec/WSDL/vipuserservices-auth-1.7.wsdl' user_services_client = HTTPHandler.setConnection(userservices_url) user_service = SymantecUserServices(user_services_client) #authenticate_result = user_service.authenticateWithStandard_OTP(id_generator(), credentialId, otp) authenticate_result = user_service.authenticateUser(id_generator(), request.user.email, otp) if ("0000" in authenticate_result.status): return render_to_response("succeed.html") else: return HttpResponse("Failure..." + str(request.user)) else: return HttpResponse("what?!") pass
def setUp(self): # the URLs for now which will have the WSDL files and the XSD file query_services_url = 'http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-query-1.7.wsdl' userservices_url = 'http://webdev.cse.msu.edu/~morcoteg/Symantec/WSDL/vipuserservices-auth-1.7.wsdl' managementservices_url = 'http://webdev.cse.msu.edu/~huynhall/vipuserservices-mgmt-1.7.wsdl' # initializing the Suds clients for each url, with the client certificate youll have in the same dir as this file query_services_client = Client(query_services_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) user_services_client = Client(userservices_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) management_client = Client(managementservices_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) # get_user_info_result = query_services_client.service.getUserInfo(requestId="123123", userId="y1196293") test_user_services_object = SymantecUserServices(user_services_client) test_query_services_object = SymantecQueryServices( query_services_client) test_management_services_object = SymantecManagementServices( management_client) self.test_services = SymantecServices(query_services_client, management_client, user_services_client)
def setUp(self): # the URLs for now which will have the WSDL files and the XSD file import urllib import os from urllib.parse import urlparse from urllib.request import pathname2url query_services_url = urllib.parse.urljoin('file:', pathname2url( os.path.abspath('../wsdl_files/vipuserservices-query-1.7.wsdl'))) userservices_url = urllib.parse.urljoin('file:', pathname2url( os.path.abspath('../wsdl_files/vipuserservices-auth-1.7.wsdl'))) managementservices_url = urllib.parse.urljoin('file:', pathname2url( os.path.abspath('../wsdl_files/vipuserservices-mgmt-1.7.wsdl'))) # initializing the Suds clients for each url, with the client certificate youll have in the same dir as this file query_services_client = Client(query_services_url, transport=HTTPSClientCertTransport('vip_certificate.crt', 'vip_certificate.crt')) user_services_client = Client(userservices_url, transport=HTTPSClientCertTransport('vip_certificate.crt', 'vip_certificate.crt')) management_client = Client(managementservices_url, transport=HTTPSClientCertTransport('vip_certificate.crt', 'vip_certificate.crt')) # get_user_info_result = query_services_client.service.getUserInfo(requestId="123123", userId="y1196293") test_user_services_object = SymantecUserServices(user_services_client) test_query_services_object = SymantecQueryServices(query_services_client) test_management_services_object = SymantecManagementServices(management_client) self.test_services = SymantecServices(query_services_client, management_client, user_services_client)
def setUp(self): # the URLs for now which will have the WSDL files and the XSD file query_services_url = 'http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-query-1.7.wsdl' userservices_url = 'http://webdev.cse.msu.edu/~morcoteg/Symantec/WSDL/vipuserservices-auth-1.7.wsdl' # initializing the Suds clients for each url, with the client certificate youll have in the same dir as this file query_services_client = Client(query_services_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) user_services_client = Client(userservices_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) self.test_user_services_object = SymantecUserServices( user_services_client)
class TestAuthentication(unittest.TestCase): def setUp(self): # the URLs for now which will have the WSDL files and the XSD file query_services_url = 'http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-query-1.7.wsdl' userservices_url = 'http://webdev.cse.msu.edu/~morcoteg/Symantec/WSDL/vipuserservices-auth-1.7.wsdl' # initializing the Suds clients for each url, with the client certificate youll have in the same dir as this file query_services_client = Client(query_services_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) user_services_client = Client(userservices_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) self.test_user_services_object = SymantecUserServices( user_services_client) def test_OTP(self): authenticate_result = self.test_user_services_object.authenticateUser("test_otp", \ "gabe_phone", "991483") self.assertTrue("0000" in str(authenticate_result)) pass def test_authenticateCredWithOTP(self): authenticate_result = self.test_user_services_object.authenticateCredentialWithStandard_OTP( "test_cred_otp", "VSMT16833399", "374125") self.assertTrue("0000" in str(authenticate_result)) pass def test_authenticateCredWithOTP_activate(self): authenticate_result_activate = self.test_user_services_object.authenticateCredentialWithStandard_OTP( "test_cred_otp", "VSMT16833399", "374125", True) self.assertTrue("0000" in str(authenticate_result_activate)) pass def test_push(self): authenticate_result = self.test_user_services_object.authenticateCredentialWithPush( "push_456", "VSMT16833399", "Use my Push!") print(str(authenticate_result)) self.assertTrue("6040" in str(authenticate_result)) pass
def setUp(self): # the URLs for now which will have the WSDL files and the XSD file #urlparse.urljoin('file:', urllib.pathname2url(os.path.abspath("service.xml"))) import urllib import os from urllib.parse import urlparse from urllib.request import pathname2url query_services_url = urllib.parse.urljoin('file:', pathname2url(os.path.abspath('../wsdl_files/vipuserservices-query-1.7.wsdl'))) userservices_url = urllib.parse.urljoin('file:', pathname2url(os.path.abspath('../wsdl_files/vipuserservices-auth-1.7.wsdl'))) # initializing the Suds clients for each url, with the client certificate youll have in the same dir as this file query_services_client = Client(query_services_url, transport=HTTPSClientCertTransport('vip_certificate.crt', 'vip_certificate.crt')) user_services_client = Client(userservices_url, transport=HTTPSClientCertTransport('vip_certificate.crt', 'vip_certificate.crt')) self.test_user_services_object = SymantecUserServices(user_services_client)
import logging from symantec_package.lib.userService.SymantecUserServices import SymantecUserServices logging.basicConfig(level=logging.INFO) logging.getLogger('suds.client').setLevel(logging.DEBUG) from suds.client import Client #from suds.transport.https import # the URLs for now which will have the WSDL files and the XSD file url = 'http://webdev.cse.msu.edu/~yehanlin/vip/vipuserservices-query-1.7.wsdl' userservices_url = 'http://webdev.cse.msu.edu/~morcoteg/Symantec/WSDL/vipuserservices-auth-1.4.wsdl' # initializing the Suds clients for each url, with the client certificate youll have in the same dir as this file client = Client(url, transport=HTTPSClientCertTransport('vip_certificate.crt', 'vip_certificate.crt')) user_services_client = Client(userservices_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) get_user_info_result = client.service.getUserInfo(requestId="123123", userId="y1196293") # Gabe here, testing pushing to phone with wrapper class SymantecUserServices test_user_services_object = SymantecUserServices(user_services_client) send_push_to_phone_result = test_user_services_object.authenticateUserWithPush( "push_123", "Arren_phone") print(test_user_services_object.__str__("push_123", "Arren_phone")) print(str(get_user_info_result).split('\n'))
# initializing the Suds clients for each url, with the client certificate youll have in the same dir as this file query_services_client = Client(query_services_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) user_services_client = Client(userservices_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) management_client = Client(managementservices_url, transport=HTTPSClientCertTransport( 'vip_certificate.crt', 'vip_certificate.crt')) #get_user_info_result = query_services_client.service.getUserInfo(requestId="123123", userId="y1196293") test_user_services_object = SymantecUserServices(user_services_client) test_query_services_object = SymantecQueryServices(query_services_client) test_management_services_object = SymantecManagementServices(management_client) test_services = SymantecServices(query_services_client, management_client, user_services_client) #send_push_to_phone_result = test_user_services_object.authenticateUserWithPush("push_123", "gabe_phone") #print(test_user_services_object.__str__("push_123", "gabe_phone")) #print(user_services_client) # authenticate_result = test_user_services_object.authenticateCredentials("push_456", \ # {"credentialId": "VSTZ39646177", "credentialType": "STANDARD_OTP"}, \ # {"otp": "263881"}) #a_result = test_user_services_object.authenticateWithStandard_OTP("push_123", "VSTZ39646177", input("\nEnter 6-digit security code: ")) #transaction_id = test_user_services_object.getFieldContent('transactionId') #polling = test_query_services_object.pollPushStatus("push_456", transaction_id)
pathname2url( os.path.abspath('./wsdl_files/vipuserservices-auth-1.7.wsdl'))) user_services_client = Client(user_services_url, transport=HTTPSClientCertTransport( './privateKey_nopass.pem', './publicCert.pem')) query_services_url = urllib.parse.urljoin( 'file:', pathname2url( os.path.abspath('./wsdl_files/vipuserservices-query-1.7.wsdl'))) query_services_client = Client(query_services_url, transport=HTTPSClientCertTransport( './privateKey_nopass.pem', './publicCert.pem')) user_services_object = SymantecUserServices(user_services_client) query_services_object = SymantecQueryServices(query_services_client) data = {} data["displayParameters"] = [] if args.message: data["displayParameters"].append({ "Key": "display.message.text", "Value": args.message }) if args.title: data["displayParameters"].append({ "Key": "display.message.title", "Value": args.title })
def sendPush(userid): user_services_url = urllib.parse.urljoin('file:', pathname2url(os.path.abspath('./wsdl_files/vipuserservices-auth-1.7.wsdl'))) user_services_client = Client(user_services_url, transport = HTTPSClientCertTransport( './privateKey_nopass.pem', './publicCert.pem')) query_services_url = urllib.parse.urljoin('file:', pathname2url(os.path.abspath('./wsdl_files/vipuserservices-query-1.7.wsdl'))) query_services_client = Client(query_services_url, transport = HTTPSClientCertTransport( './privateKey_nopass.pem', './publicCert.pem')) user_services_object = SymantecUserServices(user_services_client) query_services_object = SymantecQueryServices(query_services_client) data = {} data["displayParameters"] = [] data["displayParameters"].append({"Key":"display.message.text", "Value": message}) data["displayParameters"].append({"Key":"display.message.title", "Value": title}) response = user_services_object.authenticateUserWithPush("SupportPush",userid, None, data) status=user_services_object.getResponseValue(response,'status') statusMessage=user_services_object.getResponseValue(response,'statusMessage') if (status == '6040'): print("Push Initiated for", userid) transaction=user_services_object.getResponseValue(response,'transactionId') request=user_services_object.getResponseValue(response,'requestId') else: print("Error sending push to", userid, ":" , statusMessage) return("Error: Unable to send push to " + userid + ": " + statusMessage) isExit = False isError = False for sec in range(1,30 // 3): if isExit: break time.sleep(3) # NEED NEW SOLUTION for querying on interval in python poll_status = query_services_object.pollPushStatus(request,transaction) transaction_status = query_services_object.getResponseValue(poll_status,'transactionStatus') for tup in transaction_status: status=tup[1] msg=tup[2] if isError: print("\n\tError: " + msg) return("Error: Unable to validate user: "******"0000" in status: # ignore this first status for polling connection continue elif "7000" in status: print("SUCCESS! Push Accepted by " + userid) return("Push Accepted by "+ userid) isExit = True break elif "7001" in status: print("Waiting for response...") continue elif "7002" in status: print("Push Denied by", userid) return("Error: Push denied by "+ userid) isExit = True break else: isError = True return("Error: Request to " + userid + " timed out.")