WIP - Modify oidcConsents key structure

This commit is contained in:
Christophe Maudoux 2018-07-15 22:08:30 +02:00
parent 4885fce87f
commit c381ae86b6
5 changed files with 33 additions and 27 deletions

View File

@ -544,9 +544,9 @@ sub mkOidcConsent {
##################### #####################
foreach (@$_consents) { foreach (@$_consents) {
if ( defined $_->{rp} ){ if ( defined $_->{rp} ) {
my $rp = $_->{rp}; my $rp = $_->{rp};
$self->logger->debug("RP $rp Consent found"); $self->logger->debug("RP { $rp } Consent found");
$consents->{$rp}->{epoch} = $_->{epoch}; $consents->{$rp}->{epoch} = $_->{epoch};
$consents->{$rp}->{scope} = $_->{scope}; $consents->{$rp}->{scope} = $_->{scope};
$consents->{$rp}->{displayName} = $consents->{$rp}->{displayName} =
@ -573,7 +573,7 @@ sub mkOidcConsent {
map { map {
{ {
name => $_, name => $_,
time => $consents->{$_}->{epoch}, epoch => $consents->{$_}->{epoch},
scope => $consents->{$_}->{scope}, scope => $consents->{$_}->{scope},
displayName => $consents->{$_}->{displayName} displayName => $consents->{$_}->{displayName}
} }

View File

@ -54,7 +54,7 @@ getValues = () ->
# ---------------------------------------- # ----------------------------------------
setSelector = "#appslist" setSelector = "#appslist"
# Function that writes the list order to session (network errors ignored) # Function to write the sorted apps list to session (network errors ignored)
setOrder = -> setOrder = ->
setKey '_appsListOrder', $(setSelector).sortable("toArray").join() setKey '_appsListOrder', $(setSelector).sortable("toArray").join()
@ -71,16 +71,23 @@ removeOidcConsent = (partner) ->
# alert "#{s} #{e}" # alert "#{s} #{e}"
e = (j,s,e) -> e = (j,s,e) ->
alert "#{s} #{e}" alert "#{s} #{e}"
delKey "_oidc_consent_time_#{partner}" #delKey "_oidc_consent_time_#{partner}"
# Success ## Success
, () -> #, () ->
delKey "_oidc_consent_scope_#{partner}" #delKey "_oidc_consent_scope_#{partner}"
## Success
#, () ->
#$("[partner='#{partner}']").hide()
## Error
#, e
#, e
delKey "_oidcConsents",partner
# Success # Success
, () -> , () ->
$("[partner='#{partner}']").hide() $("[partner='#{partner}']").hide()
# Error # Error
, e , e
, e
# Function used by setOrder() and removeOidcConsent() to push new values # Function used by setOrder() and removeOidcConsent() to push new values
# For security reason, modification is rejected unless a valid token is given # For security reason, modification is rejected unless a valid token is given
@ -104,7 +111,7 @@ setKey = (key,val,success,error) ->
success: success success: success
error: error error: error
delKey = (key,success,error) -> delKey = (key,partner,success,error) ->
$.ajax $.ajax
type: "GET" type: "GET"
url: datas['scriptname'] + '/mysession/?gettoken' url: datas['scriptname'] + '/mysession/?gettoken'
@ -114,7 +121,8 @@ delKey = (key,success,error) ->
success: (data) -> success: (data) ->
$.ajax $.ajax
type: "DELETE" type: "DELETE"
url: "#{datas['scriptname']}/mysession/persistent/#{key}?token=#{data.token}" url: "#{datas['scriptname']}/mysession/persistent/#{key}?option=#{partner}&token=#{data.token}"
#url: "#{datas['scriptname']}/mysession/persistent/#{key}?token=#{data.token}"
dataType: 'json' dataType: 'json'
success: success success: success
error: error error: error

View File

@ -79,11 +79,9 @@ LemonLDAP::NG Portal jQuery scripts
e = function(j, s, e) { e = function(j, s, e) {
return alert(s + " " + e); return alert(s + " " + e);
}; };
return delKey("_oidc_consent_time_" + partner, function() { return delKey("_oidcConsents", partner, function() {
return delKey("_oidc_consent_scope_" + partner, function() {
return $("[partner='" + partner + "']").hide(); return $("[partner='" + partner + "']").hide();
}, e); }, e);
}, e);
}; };
setKey = function(key, val, success, error) { setKey = function(key, val, success, error) {
@ -110,7 +108,7 @@ LemonLDAP::NG Portal jQuery scripts
}); });
}; };
delKey = function(key, success, error) { delKey = function(key, partner, success, error) {
return $.ajax({ return $.ajax({
type: "GET", type: "GET",
url: datas['scriptname'] + '/mysession/?gettoken', url: datas['scriptname'] + '/mysession/?gettoken',
@ -119,7 +117,7 @@ LemonLDAP::NG Portal jQuery scripts
success: function(data) { success: function(data) {
return $.ajax({ return $.ajax({
type: "DELETE", type: "DELETE",
url: datas['scriptname'] + "/mysession/persistent/" + key + "?token=" + data.token, url: datas['scriptname'] + "/mysession/persistent/" + key + "?option=" + partner + "&token=" + data.token,
dataType: 'json', dataType: 'json',
success: success, success: success,
error: error error: error

File diff suppressed because one or more lines are too long

View File

@ -11,7 +11,7 @@
<TMPL_LOOP NAME="partners"> <TMPL_LOOP NAME="partners">
<tr partner="<TMPL_VAR NAME="name">"> <tr partner="<TMPL_VAR NAME="name">">
<td><TMPL_VAR NAME="displayName"></td> <td><TMPL_VAR NAME="displayName"></td>
<td class="localeDate" val="<TMPL_VAR NAME="time">"></td> <td class="localeDate" val="<TMPL_VAR NAME="epoch">"></td>
<td><TMPL_VAR NAME="scope"></td> <td><TMPL_VAR NAME="scope"></td>
<td><a partner="<TMPL_VAR NAME="name">" title="delete" class="oidcConsent link nodecor text-danger glyphicon glyphicon-minus-sign"></a></td> <td><a partner="<TMPL_VAR NAME="name">" title="delete" class="oidcConsent link nodecor text-danger glyphicon glyphicon-minus-sign"></a></td>
</td> </td>