Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
ws-eidaauth
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OSUG
RESIF
ws-eidaauth
Commits
7e0483e8
Commit
7e0483e8
authored
Feb 17, 2020
by
Jonathan Schaeffer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Trying to better delete accounts
parent
c0330ce6
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
11 deletions
+14
-11
eidawsauth/eidawsauth.py
eidawsauth/eidawsauth.py
+14
-11
No files found.
eidawsauth/eidawsauth.py
View file @
7e0483e8
...
...
@@ -139,6 +139,9 @@ def cleanup():
Clean old temporary logins and passwords in both databases.
"""
logging
.
info
(
"Cleaning up expired temporary accounts"
)
nb_expired_accounts
=
0
old_users_entries
=
0
old_users
=
""
try
:
conn
=
psycopg2
.
connect
(
dbname
=
application
.
config
[
'AUTHDBNAME'
],
port
=
application
.
config
[
'AUTHDBPORT'
],
...
...
@@ -147,6 +150,10 @@ def cleanup():
password
=
application
.
config
[
'AUTHDBPASSWORD'
])
cur
=
conn
.
cursor
()
logging
.
debug
(
"Connected to users database"
)
cur
.
execute
(
"select user_index,login from users where expires_at < now();"
)
nb_expired_accounts
=
cur
.
rowcount
old_users_entries
=
cur
.
fetchall
()[:
1000
]
old_users
=
','
.
join
(
str
(
u
[
0
])
for
u
in
old_users_entries
)
except
Exception
as
e
:
logging
.
error
(
"Unable to connect to database %s as %s@%s:%s"
%
(
application
.
config
[
'AUTHDBNAME'
],
application
.
config
[
'AUTHDBUSER'
],
...
...
@@ -154,10 +161,6 @@ def cleanup():
application
.
config
[
'AUTHDBPORT'
]))
raise
e
cur
.
execute
(
"select user_index,login from users where expires_at < now();"
)
nb_expired_accounts
=
cur
.
rowcount
old_users_entries
=
cur
.
fetchall
()[:
1000
]
old_users
=
','
.
join
(
str
(
u
[
0
])
for
u
in
old_users_entries
)
logging
.
debug
(
"%d users to delete"
%
(
len
(
old_users_entries
)))
if
len
(
old_users_entries
)
>
0
:
try
:
...
...
@@ -177,19 +180,19 @@ def cleanup():
password
=
application
.
config
[
'PRIVILEGEDBPASSWORD'
])
cur
=
conn
.
cursor
()
logging
.
debug
(
"Connected to privlieges database"
)
old_users
=
','
.
join
(
str
(
u
[
1
])
for
u
in
old_users_entries
)
logging
.
debug
(
"Deleting from privileges database: %s"
,
old_users
)
cur
.
execute
(
"""
delete from eida_temp_users where name in (%s);
"""
,
(
AsIs
(
old_users
),))
conn
.
commit
()
conn
.
close
()
except
Exception
as
e
:
logging
.
error
(
"Unable to connect to database %s as %s@%s:%s"
%
(
application
.
config
[
'PRIVILEGEDBNAME'
],
application
.
config
[
'PRIVILEGEDBUSER'
],
application
.
config
[
'PRIVILEGEDBHOST'
],
application
.
config
[
'PRIVILEGEDBPORT'
]))
raise
e
logging
.
debug
(
"Deleting from privileges database"
)
old_users
=
','
.
join
(
str
(
u
[
1
])
for
u
in
old_users_entries
)
cur
.
execute
(
"""
delete from eida_temp_users where name in (%s);
"""
,
(
old_users
,))
conn
.
commit
()
conn
.
close
()
logging
.
info
(
"Deleted %d over %d expired accounts"
%
(
len
(
old_users_entries
),
nb_expired_accounts
))
return
Response
(
"Deleted %d expired accounts."
%
(
len
(
old_users_entries
)),
status
=
200
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment