pluralized post-logout redirect uris for dynamically registered clients

pull/779/head
Justin Richer 2015-02-16 16:56:20 -05:00
parent da9c8bdee5
commit 40b390de6d
2 changed files with 16 additions and 4 deletions

View File

@ -52,7 +52,7 @@ var DynRegClient = Backbone.Model.extend({
default_acr_values:null, default_acr_values:null,
initiate_login_uri:null, initiate_login_uri:null,
post_logout_redirect_uri:null, post_logout_redirect_uris:null,
request_uris:[], request_uris:[],
@ -177,6 +177,7 @@ var DynRegEditView = Backbone.View.extend({
this.contactsCollection = new Backbone.Collection(); this.contactsCollection = new Backbone.Collection();
this.defaultAcrValuesCollection = new Backbone.Collection(); this.defaultAcrValuesCollection = new Backbone.Collection();
this.requestUrisCollection = new Backbone.Collection(); this.requestUrisCollection = new Backbone.Collection();
this.postLogoutRedirectUrisCollection = new Backbone.Collection();
this.listWidgetViews = []; this.listWidgetViews = [];
}, },
@ -370,7 +371,7 @@ var DynRegEditView = Backbone.View.extend({
response_types: responseTypes, response_types: responseTypes,
sector_identifier_uri: $('#sectorIdentifierUri input').val(), sector_identifier_uri: $('#sectorIdentifierUri input').val(),
initiate_login_uri: $('#initiateLoginUri input').val(), initiate_login_uri: $('#initiateLoginUri input').val(),
post_logout_redirect_uri: $('#postLogoutRedirectUri input').val(), post_logout_redirect_uris: this.postLogoutRedirectUrisCollection.pluck('item'),
require_auth_time: $('#requireAuthTime input').is(':checked'), require_auth_time: $('#requireAuthTime input').is(':checked'),
default_max_age: parseInt($('#defaultMaxAge input').val()), default_max_age: parseInt($('#defaultMaxAge input').val()),
contacts: contacts, contacts: contacts,
@ -482,6 +483,19 @@ var DynRegEditView = Backbone.View.extend({
$("#contacts .controls div", this.el).html(contactView.render().el); $("#contacts .controls div", this.el).html(contactView.render().el);
this.listWidgetViews.push(contactView); this.listWidgetViews.push(contactView);
// build and bind post-logout redirect URIs
_.each(this.model.get('post_logout_redirect_uris'), function(postLogoutRedirectUri) {
_self.postLogoutRedirectUrisCollection.add(new URIModel({item:postLogoutRedirectUri}));
});
var postLogoutRedirectUrisView = new ListWidgetView({
type: 'uri',
placeholder: 'https://',
helpBlockText: $.t('client.client-form.post-logout-help'),
collection: this.postLogoutRedirectUrisCollection});
$('#postLogoutRedirectUri .controls', this.el).html(postLogoutRedirectUrisView.render().el);
this.listWidgetViews.push(postLogoutRedirectUrisView);
// build and bind request URIs // build and bind request URIs
_.each(this.model.get('request_uris'), function (requestUri) { _.each(this.model.get('request_uris'), function (requestUri) {
_self.requestUrisCollection.add(new URIModel({item:requestUri})); _self.requestUrisCollection.add(new URIModel({item:requestUri}));

View File

@ -518,8 +518,6 @@
<div class="control-group" id="postLogoutRedirectUri"> <div class="control-group" id="postLogoutRedirectUri">
<label class="control-label"><span class="label label-default nyi"><i class="icon-road icon-white"></i> NYI </span> <span data-i18n="client.client-form.post-logout">Post-Logout Redirect</span></label> <label class="control-label"><span class="label label-default nyi"><i class="icon-road icon-white"></i> NYI </span> <span data-i18n="client.client-form.post-logout">Post-Logout Redirect</span></label>
<div class="controls"> <div class="controls">
<input placeholder="https://" value="<%-client.post_logout_redirect_uri%>" maxlength="1000" type="text" class=""/>
<p class="help-block" data-i18n="client.client-form.post-logout-help">URL to redirect the client to after a logout operation</p>
</div> </div>
</div> </div>