Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Martin Mareš
Postal Owl
Commits
ee939716
Commit
ee939716
authored
Sep 28, 2021
by
Martin Mareš
Browse files
Authentication tokens renamed to access keys (except in DB schema)
Closes
#22
.
parent
2cc77b94
Changes
3
Hide whitespace changes
Inline
Side-by-side
db.ddl
View file @
ee939716
...
...
@@ -3,7 +3,7 @@ SET ROLE owl;
CREATE TABLE owl_users (
uid serial PRIMARY KEY,
ukco int UNIQUE DEFAULT NULL,
auth_token varchar(64) UNIQUE DEFAULT NULL,
auth_token varchar(64) UNIQUE DEFAULT NULL,
-- this is called "access key" in UI
full_name varchar(255) NOT NULL,
email varchar(255) DEFAULT NULL,
-- we allow CAS's format "{email1,email2,...}"
...
...
owl.py
View file @
ee939716
...
...
@@ -1294,7 +1294,7 @@ def admin_courses():
class
TokenLoginForm
(
FlaskForm
):
next
=
wtforms
.
HiddenField
()
to
ke
n
=
wtforms
.
PasswordField
(
"Token"
,
validators
=
[
validators
.
DataRequired
()])
ke
y
=
wtforms
.
PasswordField
(
"Token"
,
validators
=
[
validators
.
DataRequired
()])
@
app
.
route
(
'/login/'
,
methods
=
(
'GET'
,
'POST'
))
...
...
@@ -1304,15 +1304,15 @@ def login():
if
not
form
.
validate_on_submit
():
return
render_template
(
'login.html'
,
form
=
form
,
error
=
None
)
db_query
(
"SELECT * FROM owl_users WHERE auth_token=%s"
,
(
form
.
to
ke
n
.
data
,))
db_query
(
"SELECT * FROM owl_users WHERE auth_token=%s"
,
(
form
.
ke
y
.
data
,))
row
=
db
.
fetchone
()
if
row
:
app
.
logger
.
info
(
'Logged in user: uid=%s, cn=%s, admin=%s by
to
ke
n
'
,
row
.
uid
,
row
.
full_name
,
row
.
is_admin
)
app
.
logger
.
info
(
'Logged in user: uid=%s, cn=%s, admin=%s by ke
y
'
,
row
.
uid
,
row
.
full_name
,
row
.
is_admin
)
session_from_db
(
row
)
return
redirect
(
form
.
next
.
data
or
url_for
(
'index'
))
app
.
logger
.
info
(
'Invalid login
to
ke
n
'
)
return
render_template
(
'login.html'
,
form
=
form
,
error
=
'Invalid
to
ke
n
'
)
app
.
logger
.
info
(
'Invalid login ke
y
'
)
return
render_template
(
'login.html'
,
form
=
form
,
error
=
'Invalid
access
ke
y
'
)
@
app
.
route
(
'/login/cas'
,
methods
=
(
'GET'
,
'POST'
))
...
...
templates/login.html
View file @
ee939716
...
...
@@ -14,7 +14,7 @@
<form
method=
"POST"
action=
"?"
>
{{ form.csrf_token }}
{{ form.next() }}
Login by
to
ke
n
: {{ form.
to
ke
n
(size=64) }}
Login by
access
ke
y
: {{ form.ke
y
(size=64) }}
<input
type=
submit
value=
'Go!'
>
</form>
...
...
Write
Preview
Supports
Markdown
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