Skip to content

Commit 59dee1a

Browse files
committed
forces username compliance for tosdr users created in h
1 parent c5f0227 commit 59dee1a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

h/views/api/auth.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import json
22
import logging
33
import random
4+
import re
45
import string
56
from datetime import datetime
67
from functools import wraps
@@ -163,13 +164,14 @@ def _authorized_response(self):
163164
scopes = DEFAULT_SCOPES
164165
# TOSDR : find tosdr user based on h_key cookie
165166
h_key = self.request.cookies.get('h_key')
166-
user_tosdr = self.user_svc.fetch_from_tosdr(h_key)
167+
user_tosdr = self.user_svc.fetch_from_tosdr(h_key)
167168
username = user_tosdr.username
168169
user = self.user_svc.fetch(username, authority=self.request.default_authority)
169170
# TOSDR : create user in h if it does not exist
170171
if h_key and not user:
172+
clean_username = re.sub('[^a-zA-Z0-9\_\.]', '', username)
171173
password = ''.join(random.choice(string.printable) for i in range(12))
172-
user = User(username=user_tosdr.username, email=user_tosdr.email, privacy_accepted=datetime.now(), comms_opt_in=False, password=password, authority=self.request.default_authority)
174+
user = User(username=clean_username, email=user_tosdr.email, privacy_accepted=datetime.now(), comms_opt_in=False, password=password, authority=self.request.default_authority)
173175
self.session.add(user)
174176

175177
credentials = {"user": user}

0 commit comments

Comments
 (0)