def get_identifier(self, request): """ Return the UUID and Account number embedded in the certificate @param request: @return: (CN, O) corresponds to CN being the UUID of the certificate and O being the account number """ x509_cert_from_request = get_client_cert_from_request(request) return get_identifier_from_cert(x509_cert_from_request)
def is_authorized(self, request, object=None): x509_cert_from_request = get_client_cert_from_request(request) identity_uuid, identity_account = get_identifier_from_cert(x509_cert_from_request) if not identity_uuid: return False return True
def test_get_identifier_from_cert(self): req = self.request_factory.request(SSL_CLIENT_CERT=self.valid_identity_cert_pem) client_cert = certs.get_client_cert_from_request(req) CN, O = certs.get_identifier_from_cert(client_cert) self.assertEqual(CN, self.expected_valid_identity_uuid) self.assertEqual(O, self.expected_valid_account_num)