示例#1
0
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?!")
示例#2
0
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)
示例#4
0
    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)
示例#5
0
    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)
示例#6
0
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
示例#7
0
    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)
示例#8
0
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'))
示例#9
0
# 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)
示例#10
0
    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
    })
示例#11
0
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.")