130 |
130 |
return User.objects.get(saml_identifiers__name_id=name_id,
|
131 |
131 |
saml_identifiers__issuer=issuer)
|
132 |
132 |
except User.DoesNotExist:
|
133 |
|
if not utils.get_setting(idp, 'PROVISION'):
|
134 |
|
self.logger.warning('provisionning disabled, login refused')
|
135 |
|
return None
|
136 |
|
user = self.create_user(User)
|
137 |
|
saml_id, created = models.UserSAMLIdentifier.objects.get_or_create(
|
138 |
|
name_id=name_id, issuer=issuer, defaults={'user': user})
|
139 |
|
if created:
|
140 |
|
try:
|
141 |
|
self.finish_create_user(idp, saml_attributes, user)
|
142 |
|
except UserCreationError:
|
143 |
|
user.delete()
|
144 |
|
return None
|
145 |
|
self.logger.info('created new user %s with name_id %s from issuer %s',
|
146 |
|
user, name_id, issuer)
|
147 |
|
else:
|
|
133 |
pass
|
|
134 |
|
|
135 |
if not utils.get_setting(idp, 'PROVISION'):
|
|
136 |
self.logger.warning('provisionning disabled, login refused')
|
|
137 |
return None
|
|
138 |
|
|
139 |
user = self.create_user(User)
|
|
140 |
saml_id, created = models.UserSAMLIdentifier.objects.get_or_create(
|
|
141 |
name_id=name_id, issuer=issuer, defaults={'user': user})
|
|
142 |
if created:
|
|
143 |
try:
|
|
144 |
self.finish_create_user(idp, saml_attributes, user)
|
|
145 |
except UserCreationError:
|
148 |
146 |
user.delete()
|
149 |
|
user = saml_id.user
|
150 |
|
self.logger.info('looked up user %s with name_id %s from issuer %s',
|
151 |
|
user, name_id, issuer)
|
|
147 |
return None
|
|
148 |
self.logger.info('created new user %s with name_id %s from issuer %s',
|
|
149 |
user, name_id, issuer)
|
|
150 |
else:
|
|
151 |
user.delete()
|
|
152 |
user = saml_id.user
|
|
153 |
self.logger.info('looked up user %s with name_id %s from issuer %s',
|
|
154 |
user, name_id, issuer)
|
152 |
155 |
return user
|
153 |
156 |
|
154 |
157 |
def provision(self, user, idp, saml_attributes):
|
155 |
|
-
|