Example #1
0
 def test_getAuthenticateRequest(self):
     reqdata = AuthenticateRequestData(
         authenticateRequests=[{
             'keyHandle': 'a'
         }, {
             'keyHandle': 'b'
         }])
     response = SignResponse(keyHandle='b')
     self.assertEqual({'keyHandle': 'b'},
                      reqdata.getAuthenticateRequest(response))
     self.assertTrue(
         isinstance(reqdata.getAuthenticateRequest(response), SignRequest))
Example #2
0
def verify_authenticate(devices, request_data, response, valid_facets=None):
    request_data = AuthenticateRequestData.wrap(request_data)
    response = SignResponse.wrap(response)

    sign_request = request_data.getAuthenticateRequest(response)

    device = next(d for d in devices if d.keyHandle == sign_request.keyHandle)

    return u2f_v2.verify_authenticate(
        device,
        sign_request,
        response,
        valid_facets
    )
Example #3
0
 def test_authenticateRequests(self):
     reqdata = AuthenticateRequestData(authenticateRequests=[{}, {
         'a': 1
     }, {
         'a': 1,
         'b': 2
     }])
     self.assertEqual([{}, {
         'a': 1
     }, {
         'a': 1,
         'b': 2
     }], reqdata.authenticateRequests)
     self.assertTrue(
         isinstance(reqdata.authenticateRequests[0], SignRequest))
 def test_getAuthenticateRequest(self):
     reqdata = AuthenticateRequestData(authenticateRequests=[{'keyHandle': 'a'},
                                                             {'keyHandle': 'b'}])
     response = SignResponse(keyHandle='b')
     self.assertEqual({'keyHandle': 'b'}, reqdata.getAuthenticateRequest(response))
     self.assertTrue(isinstance(reqdata.getAuthenticateRequest(response), SignRequest))
Example #5
0
def start_authenticate(devices, challenge=None):
    sign_requests = [u2f_v2.start_authenticate(d, challenge or rand_bytes(32))
                     for d in devices]

    return AuthenticateRequestData(authenticateRequests=sign_requests)