Commit fd24b7a8 authored by Frank Bergmann's avatar Frank Bergmann

- now supporting expiry date in auto-login tokens

parent 85086002
Pipeline #413 failed with stages
......@@ -1386,13 +1386,15 @@ ad_proc -private im_rest_authenticate {
# Check for token authentication
set token_user_id ""
set token_token ""
set expiry_date ""
if {[info exists query_hash(user_id)]} { set token_user_id $query_hash(user_id)}
if {[info exists query_hash(auth_token)]} { set token_token $query_hash(auth_token)}
if {[info exists query_hash(auto_login)]} { set token_token $query_hash(auto_login)}
if {[info exists query_hash(expiry_date)]} { set expiry_date $query_hash(expiry_date)}
# Check if the token fits the user
if {"" != $token_user_id && "" != $token_token} {
if {![im_valid_auto_login_p -user_id $token_user_id -auto_login $token_token]} {
if {![im_valid_auto_login_p -user_id $token_user_id -auto_login $token_token -expiry_date $expiry_date]} {
set token_user_id ""
}
}
......
......@@ -6,7 +6,8 @@
<tr class=roweven><td>User ID</td><td>@user_id@</td></tr>
<tr class=rowodd><td>User</td><td>@name@</td></tr>
<tr class=roweven><td>Username</td><td>@username@</td>
<tr class=rowodd><td>Auto-Login<br>Token</td><td>@auto_login@</td></tr>
<tr class=rowodd><td>Expiry Date</td><td>@expiry_date@</td>
<tr class=roweven><td>Auto-Login<br>Token</td><td>@auto_login@</td></tr>
</tr>
</table>
......@@ -25,7 +25,13 @@ ad_page_contract {
if {![info exists user_id]} { set user_id 0 }
if {![info exists format]} { set format "html" }
set auto_login [im_generate_auto_login -user_id $user_id]
# Get expiry_date from HTTP headers
set form_vars [ns_conn form]
if {"" == $form_vars} { set form_vars [ns_set create] }
set expiry_date [ns_set get $form_vars expiry_date]
# Generate the auto-login token
set auto_login [im_generate_auto_login -user_id $user_id -expiry_date $expiry_date]
set username ""
set name ""
......@@ -43,6 +49,7 @@ switch $format {
<user_id>$user_id</user_id>
<user_name>$name</user_name>
<username>$username</username>
<expiry_date>$expiry_date</expiry_date>
<token>$auto_login</token>
</auto_login>
"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment