associated certificate to new registered user
This commit is contained in:
parent
a7a828bb46
commit
3768a0c103
|
@ -14,6 +14,7 @@ def get_x509_url(request):
|
|||
return 'https://%s:%s' % (request.get_host(),
|
||||
app_settings.AUTH_PORT)
|
||||
|
||||
def get_user_names(dn):
|
||||
def get_user_names(ssl_info):
|
||||
dn = ssl_info.get('subject_dn')
|
||||
data = dict(explode_dn(dn))
|
||||
return data['GN'].split(' ', 1)
|
||||
|
|
|
@ -73,7 +73,7 @@ def delete_beid(request, certificate_pk):
|
|||
|
||||
def x509(request, registration_token):
|
||||
ssl_info = SSLInfo(request)
|
||||
request.session['subject_dn'] = ssl_info.subject_dn
|
||||
request.session['ssl_info'] = ssl_info.__dict__
|
||||
return redirect(request, 'beid_registration_activate',
|
||||
kwargs={'registration_token': registration_token})
|
||||
|
||||
|
@ -88,8 +88,15 @@ class BeIDRegistrationCompletionView(RegistrationCompletionView):
|
|||
def get_form_kwargs(self, **kwargs):
|
||||
kw = super(BeIDRegistrationCompletionView, self).get_form_kwargs(**kwargs)
|
||||
# get first and last names from certificate and fill the form
|
||||
f_name, l_name = get_user_names(self.request.session['subject_dn'])
|
||||
f_name, l_name = get_user_names(self.request.session['ssl_info'])
|
||||
kw['initial'].update({'first_name': f_name, 'last_name': l_name})
|
||||
return kw
|
||||
|
||||
def form_valid(self, form):
|
||||
ret = super(BeIDRegistrationCompletionView, self).form_valid(form)
|
||||
cert = models.ClientCertificate(user=self.object)
|
||||
cert.__dict__.update(self.request.session['ssl_info'])
|
||||
cert.save()
|
||||
return ret
|
||||
|
||||
registration_completion = valid_token(BeIDRegistrationCompletionView.as_view())
|
||||
|
|
Reference in New Issue