Translated rsreg page and fixes.

pull/763/head
Fredrik Jönsson 2015-02-11 09:58:06 +01:00
parent c50392d77e
commit bd38e43f5a
6 changed files with 134 additions and 142 deletions

View File

@ -560,7 +560,7 @@ var AppRouter = Backbone.Router.extend({
$('#content').html(view.render().el); $('#content').html(view.render().el);
setPageTitle("New Client"); setPageTitle($.t('client.client-form.new'));
}); });
}, },
@ -611,7 +611,7 @@ var AppRouter = Backbone.Router.extend({
var view = new ClientFormView({model:client, systemScopeList: app.systemScopeList}); var view = new ClientFormView({model:client, systemScopeList: app.systemScopeList});
view.load(function() { view.load(function() {
$('#content').html(view.render().el); $('#content').html(view.render().el);
setPageTitle("Edit Client"); setPageTitle($.t('client.client-form.edit'));
}); });
@ -725,7 +725,7 @@ var AppRouter = Backbone.Router.extend({
if (client != null) { if (client != null) {
this.whiteListFormView = new WhiteListFormView({model: whiteList, client: client, systemScopeList: this.systemScopeList}); this.whiteListFormView = new WhiteListFormView({model: whiteList, client: client, systemScopeList: this.systemScopeList});
$('#content').html(this.whiteListFormView.render().el); $('#content').html(this.whiteListFormView.render().el);
setPageTitle("Edit Whitelist"); setPageTitle($.t('whitelist.edit'));
} else { } else {
console.log('ERROR: no client found for ' + whiteList.get('clientId')); console.log('ERROR: no client found for ' + whiteList.get('clientId'));
@ -749,7 +749,7 @@ var AppRouter = Backbone.Router.extend({
view.load( view.load(
function(collection, response, options) { function(collection, response, options) {
$('#content').html(view.render().el); $('#content').html(view.render().el);
setPageTitle("Manage Approved Sites"); setPageTitle($.t('grant.manage-approved-sites'));
} }
); );
@ -769,7 +769,7 @@ var AppRouter = Backbone.Router.extend({
view.load( view.load(
function(collection, response, options) { function(collection, response, options) {
$('#content').html(view.render().el); $('#content').html(view.render().el);
setPageTitle("Manage Active Tokens"); setPageTitle($.t('token.manage'));
} }
); );
@ -806,7 +806,7 @@ var AppRouter = Backbone.Router.extend({
view.load( view.load(
function(collection, response, options) { function(collection, response, options) {
$('#content').html(view.render().el); $('#content').html(view.render().el);
setPageTitle("Manage Blacklist"); setPageTitle($.t('admin.manage-blacklist'));
} }
); );
}, },
@ -937,7 +937,7 @@ var AppRouter = Backbone.Router.extend({
$('#content').html(view.render().el); $('#content').html(view.render().el);
view.delegateEvents(); view.delegateEvents();
setPageTitle("Dynamically Register a New Client"); setPageTitle($.t('dynreg.new-client'));
}); });
@ -953,7 +953,7 @@ var AppRouter = Backbone.Router.extend({
this.updateSidebar('dev/dynreg'); this.updateSidebar('dev/dynreg');
setPageTitle("Edit a Dynamically Registered Client"); setPageTitle($.t('dynreg.edit-existing'));
// note that this doesn't actually load the client, that's supposed to happen elsewhere... // note that this doesn't actually load the client, that's supposed to happen elsewhere...
}, },
@ -1004,7 +1004,7 @@ var AppRouter = Backbone.Router.extend({
$('#content').html(view.render().el); $('#content').html(view.render().el);
view.delegateEvents(); view.delegateEvents();
setPageTitle("Dynamically Register a New Protected Resource"); setPageTitle($.t('rsreg.new-resource'));
}); });
@ -1020,7 +1020,7 @@ var AppRouter = Backbone.Router.extend({
this.updateSidebar('dev/resource'); this.updateSidebar('dev/resource');
setPageTitle("Edit a Dynamically Registered Protected Resource"); setPageTitle($.t('rsreg.edit-existing'));
// note that this doesn't actually load the client, that's supposed to happen elsewhere... // note that this doesn't actually load the client, that's supposed to happen elsewhere...
}, },

View File

@ -465,7 +465,7 @@ var DynRegEditView = Backbone.View.extend({
}); });
var scopeView = new ListWidgetView({ var scopeView = new ListWidgetView({
placeholder: 'new scope', placeholder: $.t('client.client-form.scope-placeholder'),
autocomplete: _.uniq(_.flatten(this.options.systemScopeList.pluck("value"))), autocomplete: _.uniq(_.flatten(this.options.systemScopeList.pluck("value"))),
collection: this.scopeCollection}); collection: this.scopeCollection});
$("#scope .controls",this.el).html(scopeView.render().el); $("#scope .controls",this.el).html(scopeView.render().el);
@ -500,7 +500,7 @@ var DynRegEditView = Backbone.View.extend({
}); });
var defaultAcrView = new ListWidgetView({ var defaultAcrView = new ListWidgetView({
placeholder: 'new ACR value', placeholder: $.t('client.client-form.acr-values-placeholder'),
// TODO: autocomplete from spec // TODO: autocomplete from spec
collection: this.defaultAcrValuesCollection}); collection: this.defaultAcrValuesCollection});
$('#defaultAcrValues .controls', this.el).html(defaultAcrView.render().el); $('#defaultAcrValues .controls', this.el).html(defaultAcrView.render().el);

View File

@ -7,6 +7,7 @@
"list-widget": { "list-widget": {
"empty": "There are no items in this list." "empty": "There are no items in this list."
}, },
"manage-blacklist": "Manage Blacklist",
"user-profile": { "user-profile": {
"claim": "Claim name:", "claim": "Claim name:",
"text": "Your user profile has the following information:", "text": "Your user profile has the following information:",
@ -118,6 +119,7 @@
"show-secret": "Show Secret", "show-secret": "Show Secret",
"unchanged": "unchanged" "unchanged": "unchanged"
}, },
"scope-placeholder": "nytt scope",
"seconds": "seconds", "seconds": "seconds",
"secret-asymmetric-jwt": "Asymmetrically-signed JWT assertion", "secret-asymmetric-jwt": "Asymmetrically-signed JWT assertion",
"secret-http": "Client Secret over HTTP Basic", "secret-http": "Client Secret over HTTP Basic",
@ -212,7 +214,7 @@
"will-be-generated": "Will be generated" "will-be-generated": "Will be generated"
}, },
"grant": { "grant": {
"more-info": "more information", "manage-approved-sites": "Manage Approved Sites",
"refresh": "Refresh", "refresh": "Refresh",
"grant-table": { "grant-table": {
"active-tokens": "Number of currently active access tokens", "active-tokens": "Number of currently active access tokens",
@ -275,6 +277,7 @@
} }
}, },
"token": { "token": {
"manage": "Administrera aktiva tokens",
"token-table": { "token-table": {
"access-tokens": "Access Tokens", "access-tokens": "Access Tokens",
"associated-id": "This access token was issued with an associated ID token.", "associated-id": "This access token was issued with an associated ID token.",
@ -294,6 +297,7 @@
}, },
"whitelist": { "whitelist": {
"confirm": "Are you sure you want to delete this whitelist entry?", "confirm": "Are you sure you want to delete this whitelist entry?",
"edit": "Edit Whitelist",
"whitelist": "Whitelist", "whitelist": "Whitelist",
"whitelist-form": { "whitelist-form": {
"allowed-scopes": "Allowed Scopes", "allowed-scopes": "Allowed Scopes",

View File

@ -4,6 +4,7 @@
"blacklist-form": { "blacklist-form": {
"blacklisted-uris": "Svarlistade länkar" "blacklisted-uris": "Svarlistade länkar"
}, },
"manage-blacklist": "Administrera svartlista",
"list-widget": { "list-widget": {
"empty": "Det finns inget innehåll i denna lista." "empty": "Det finns inget innehåll i denna lista."
}, },
@ -32,7 +33,7 @@
"client-id-help": "Unik identifierare. Om du lämnar detta fält tomt kommer ett nytt ID genereras automatiskt", "client-id-help": "Unik identifierare. Om du lämnar detta fält tomt kommer ett nytt ID genereras automatiskt",
"client-id-placeholder": "Skriv någonting", "client-id-placeholder": "Skriv någonting",
"client-name": "Klientnamn", "client-name": "Klientnamn",
"client-name-help": "Läsbar och begripligt namn på klienten", "client-name-help": "Läsbart och begripligt namn på klienten",
"client-name-placeholder": "Skriv någonting", "client-name-placeholder": "Skriv någonting",
"client-password": "lösenord", "client-password": "lösenord",
"client-secret": "Klienthemlighet", "client-secret": "Klienthemlighet",
@ -65,7 +66,7 @@
"generate-on-save": "Genereras vid sparande", "generate-on-save": "Genereras vid sparande",
"grant-types": "Grant-typer", "grant-types": "Grant-typer",
"home": "Hemsida", "home": "Hemsida",
"home-help": "Länk till tjänstens hemsida. Den kommer att visas på bekräftelsesidan.", "home-help": "Länk till tjänstens hemsida. Den visas på bekräftelsesidan.",
"hours": "timmar", "hours": "timmar",
"id": "ID:", "id": "ID:",
"id-token-crypto-algorithm": "Krypteringsalgoritm för ID-token", "id-token-crypto-algorithm": "Krypteringsalgoritm för ID-token",
@ -79,7 +80,7 @@
"jwk-set": "JWK Set", "jwk-set": "JWK Set",
"jwk-set-help": "Länk till klientens JSON Webb-nyckel-set", "jwk-set-help": "Länk till klientens JSON Webb-nyckel-set",
"logo": "Logotyp", "logo": "Logotyp",
"logo-help": "Länk till en logotyp. Den kommer att visas på bekräftelsesidan.", "logo-help": "Länk till en logotyp. Den visas på bekräftelsesidan.",
"main": "Basinformation", "main": "Basinformation",
"max-age": "Max sessions-längd", "max-age": "Max sessions-längd",
"max-age-help": "Default maximal sessions-längd innan användaren tillfrågas igen", "max-age-help": "Default maximal sessions-längd innan användaren tillfrågas igen",
@ -118,6 +119,7 @@
"show-secret": "Visa hemlighet", "show-secret": "Visa hemlighet",
"unchanged": "oförändrad" "unchanged": "oförändrad"
}, },
"scope-placeholder": "new scope",
"seconds": "sekunder", "seconds": "sekunder",
"secret-asymmetric-jwt": "Asymmetriskt signerad JWT assertion", "secret-asymmetric-jwt": "Asymmetriskt signerad JWT assertion",
"secret-http": "Klienthemlighet över HTTP Basic", "secret-http": "Klienthemlighet över HTTP Basic",
@ -215,6 +217,7 @@
"will-be-generated": "Kommer att genereras" "will-be-generated": "Kommer att genereras"
}, },
"grant": { "grant": {
"manage-approved-sites": "Manage Approved Sites",
"refresh": "Uppdatera", "refresh": "Uppdatera",
"grant-table": { "grant-table": {
"active-tokens": "Antal nu aktiva åtkomst-tokens", "active-tokens": "Antal nu aktiva åtkomst-tokens",
@ -234,14 +237,14 @@
}, },
"rsreg": { "rsreg": {
"resource-id-placeholder": "Mata in resurs-ID", "resource-id-placeholder": "Mata in resurs-ID",
"configuration-url": "Konfigurationslänk för klienten", "configuration-url": "Konfigurationslänk för resursen",
"edit-existing": "Ändra en befintlig resurs", "edit-existing": "Ändra en befintlig resurs",
"edit-existing-help": "Klistra in ditt resurs-ID och registrerings-access-token för att komma åt resursens egenskaper.", "edit-existing-help": "Klistra in ditt resurs-ID och registrerings-access-token för att komma åt resursens egenskaper.",
"invalid-access-token": "Ogiltig klient eller registration-access-token.", "invalid-access-token": "Ogiltig resurs eller registration-access-token.",
"new-client": "Registrera en ny klient", "new": "Registrera en ny resurs",
"or": " - ELLER - ", "edit": "Ändra en befintlig resurs",
"regtoken-placeholder": "Mata in registration-access-token", "new-resource": "Registrera en ny resurs",
"will-be-generated": "Kommer att genereras" "regtoken-placeholder": "Mata in registration-access-token"
}, },
"scope": { "scope": {
"scope-list": { "scope-list": {
@ -273,6 +276,7 @@
} }
}, },
"token": { "token": {
"manage-tokens": "Manage Active Tokens",
"token-table": { "token-table": {
"access-tokens": "Access-token", "access-tokens": "Access-token",
"associated-id": "Denna access-token utfärdades med en tillhörande ID-token.", "associated-id": "Denna access-token utfärdades med en tillhörande ID-token.",
@ -291,6 +295,7 @@
}, },
"whitelist": { "whitelist": {
"confirm": "Är du säker på att du vill ta bort den här klienten ifrån vitlistan?", "confirm": "Är du säker på att du vill ta bort den här klienten ifrån vitlistan?",
"edit": "Redigera vitlista",
"whitelist": "Vitlista", "whitelist": "Vitlista",
"whitelist-form": { "whitelist-form": {
"allowed-scopes": "Tillåtna scope", "allowed-scopes": "Tillåtna scope",

View File

@ -70,7 +70,7 @@ var ResRegRootView = Backbone.View.extend({
} }
$('#loadingbox').sheet('show'); $('#loadingbox').sheet('show');
$('#loading').html('<span class="label" id="loading-scopes">Scopes</span> '); $('#loading').html('<span class="label" id="loading-scopes">' + $.t('common.scopes') + '</span> ');
$.when(this.options.systemScopeList.fetchIfNeeded({success:function(e) {$('#loading-scopes').addClass('label-success');}})) $.when(this.options.systemScopeList.fetchIfNeeded({success:function(e) {$('#loading-scopes').addClass('label-success');}}))
.done(function() { .done(function() {
@ -110,7 +110,7 @@ var ResRegRootView = Backbone.View.extend({
view.load(function() { view.load(function() {
$('#content').html(view.render().el); $('#content').html(view.render().el);
view.delegateEvents(); view.delegateEvents();
setPageTitle("Dynamically Register a New Protected Resource"); setPageTitle($.t('rsreg.new'));
app.navigate('dev/resource/edit', {trigger: true}); app.navigate('dev/resource/edit', {trigger: true});
self.remove(); self.remove();
}); });
@ -154,7 +154,7 @@ var ResRegEditView = Backbone.View.extend({
} }
$('#loadingbox').sheet('show'); $('#loadingbox').sheet('show');
$('#loading').html('<span class="label" id="loading-scopes">Scopes</span> '); $('#loading').html('<span class="label" id="loading-scopes">' + $.t('common.scopes') + '</span> ');
$.when(this.options.systemScopeList.fetchIfNeeded({success:function(e) {$('#loading-scopes').addClass('label-success');}})) $.when(this.options.systemScopeList.fetchIfNeeded({success:function(e) {$('#loading-scopes').addClass('label-success');}}))
.done(function() { .done(function() {
@ -179,7 +179,7 @@ var ResRegEditView = Backbone.View.extend({
deleteClient:function (e) { deleteClient:function (e) {
e.preventDefault(); e.preventDefault();
if (confirm("Are you sure sure you would like to delete this client?")) { if (confirm($.t('client.client-table.confirm'))) {
var self = this; var self = this;
this.model.destroy({ this.model.destroy({
@ -366,7 +366,7 @@ var ResRegEditView = Backbone.View.extend({
}); });
var scopeView = new ListWidgetView({ var scopeView = new ListWidgetView({
placeholder: 'new scope', placeholder: $.t('client.client-form.scope-placeholder'),
autocomplete: _.uniq(_.flatten(this.options.systemScopeList.pluck("value"))), autocomplete: _.uniq(_.flatten(this.options.systemScopeList.pluck("value"))),
collection: this.scopeCollection}); collection: this.scopeCollection});
$("#scope .controls",this.el).html(scopeView.render().el); $("#scope .controls",this.el).html(scopeView.render().el);
@ -378,7 +378,7 @@ var ResRegEditView = Backbone.View.extend({
}); });
var contactView = new ListWidgetView({ var contactView = new ListWidgetView({
placeholder: 'new contact', placeholder: $.t('client.client-form.contacts-placeholder'),
collection: this.contactsCollection}); collection: this.contactsCollection});
$("#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);
@ -402,7 +402,7 @@ var ResRegEditView = Backbone.View.extend({
}); });
var defaultAcrView = new ListWidgetView({ var defaultAcrView = new ListWidgetView({
placeholder: 'new ACR value', placeholder: $.t('client.client-form.acr-values-placeholder'),
// TODO: autocomplete from spec // TODO: autocomplete from spec
collection: this.defaultAcrValuesCollection}); collection: this.defaultAcrValuesCollection});
$('#defaultAcrValues .controls', this.el).html(defaultAcrView.render().el); $('#defaultAcrValues .controls', this.el).html(defaultAcrView.render().el);

View File

@ -24,7 +24,7 @@
<button class="btn btn-large" id="newreg" data-i18n="rsreg.new-resource">Register a new protected resource</button> <button class="btn btn-large" id="newreg" data-i18n="rsreg.new-resource">Register a new protected resource</button>
</div> </div>
<div class="span2 text-center"> <div class="span2 text-center">
<strong><span data-i18n="rsreg.or"> - OR - </span></strong> <strong><span data-i18n="dynreg.or"> - OR - </span></strong>
</div> </div>
<div class="span5 well"> <div class="span5 well">
<input type="text" id="clientId" placeholder="Enter Resource ID" data-i18n="[placeholder]rsreg.resource-id-placeholder"> <input type="text" id="clientId" placeholder="Enter Resource ID" data-i18n="[placeholder]rsreg.resource-id-placeholder">
@ -78,9 +78,13 @@
</div> </div>
<div class="control-group" id="clientId"> <div class="control-group" id="clientId">
<label class="control-label">Client ID</label> <label class="control-label" data-i18n="client.client-form.client-id">Client ID</label>
<div class="controls"> <div class="controls">
<pre><%-client.client_id ? client.client_id : '<code>Will be generated</code>'%></pre> <% if (client.client_id) { %>
<pre><%-client.client_id%></pre>
<% } else { %>
<code data-i18n="dynreg.will-be-generated">Will be generated</code>
<% } %>
</div> </div>
</div> </div>
@ -102,7 +106,7 @@
<% } %> <% } %>
<% } %> <% } %>
<% } else { %> <% } else { %>
<pre>Will be generated</pre> <code data-i18n="dynreg.will-be-generated">Will be generated</code>
<% } %> <% } %>
</div> </div>
</div> </div>
@ -110,50 +114,24 @@
</div> </div>
<div class="control-group" id="clientConfigurationUri"> <div class="control-group" id="clientConfigurationUri">
<label class="control-label">Client Configuration URL</label> <label class="control-label" data-i18n="dynreg.configuration-url">Client Configuration URL</label>
<div class="controls"> <div class="controls">
<pre><%-client.registration_client_uri ? client.registration_client_uri : 'Will be generated'%></pre> <% if (client.registration_client_uri) { %>
<pre><%-client.registration_client_uri%></pre>
<% } else { %>
<code data-i18n="dynreg.will-be-generated">Will be generated</code>
<% } %>
</div> </div>
</div> </div>
<div class="control-group" id="registrationAccessToken"> <div class="control-group" id="registrationAccessToken">
<label class="control-label">Registration Access Token</label> <label class="control-label" data-i18n="client.client-form.registration-access-token">Registration Access Token</label>
<div class="controls"> <div class="controls">
<pre><%-client.registration_access_token ? client.registration_access_token : 'Will be generated'%></pre> <% if (client.registration_access_token) { %>
</div> <pre><%-client.registration_access_token%></pre>
</div> <% } else { %>
<code data-i18n="dynreg.will-be-generated">Will be generated</code>
<% } else { %> <% } %>
<div class="control-group" id="clientId">
<label class="control-label">ID</label>
<div class="controls">
<code>Will be generated</code>
</div>
</div>
<div class="control-group" id="requireClientSecret">
<label class="control-label">Secret</label>
<div class="control-group">
<div class="controls">
<code>Will be generated</code>
</div>
</div>
</div>
<div class="control-group" id="clientConfigurationUri">
<label class="control-label">Configuration URL</label>
<div class="controls">
<code>Will be generated</code>
</div>
</div>
<div class="control-group" id="registrationAccessToken">
<label class="control-label">Registration Access Token</label>
<div class="controls">
<code>Will be generated</code>
</div> </div>
</div> </div>
@ -161,19 +139,19 @@
<div class="control-group" id="clientName"> <div class="control-group" id="clientName">
<label class="control-label">Resource name</label> <label class="control-label" data-i18n="client.client-form.client-name">Client name</label>
<div class="controls"> <div class="controls">
<input value="<%-client.client_name ? client.client_name : ''%>" maxlength="100" type="text" class="" placeholder="Type something"> <input value="<%-client.client_name ? client.client_name : ''%>" maxlength="100" type="text" class="" placeholder="Type something">
<p class="help-block">Human-readable application name</p> <p class="help-block" data-i18n="client.client-form.client-name-help">Human-readable application name</p>
</div> </div>
</div> </div>
<div class="control-group" id="logoUri"> <div class="control-group" id="logoUri">
<label class="control-label">Logo</label> <label class="control-label" data-i18n="client.client-form.logo">Logo</label>
<div class="controls"> <div class="controls">
<input placeholder="https://" value="<%-client.logo_uri ? client.logo_uri : ''%>" maxlength="1000" type="text" class=""/> <input placeholder="https://" value="<%-client.logo_uri ? client.logo_uri : ''%>" maxlength="1000" type="text" class=""/>
<p class="help-block">URL that points to a logo image, will be displayed on approval page</p> <p class="help-block" data-i18n="client.client-form.logo-help">URL that points to a logo image, will be displayed on approval page</p>
</div> </div>
</div> </div>
<div class="control-group" id="logoBlock"> <div class="control-group" id="logoBlock">
@ -183,46 +161,46 @@
</div> </div>
<div class="control-group" id="tosUri"> <div class="control-group" id="tosUri">
<label class="control-label">Terms of Service</label> <label class="control-label" data-i18n="client.client-form.terms">Terms of Service</label>
<div class="controls"> <div class="controls">
<input placeholder="https://" value="<%-client.tos_uri ? client.tos_uri : ''%>" maxlength="1000" type="text" class=""/> <input placeholder="https://" value="<%-client.tos_uri ? client.tos_uri : ''%>" maxlength="1000" type="text" class=""/>
<p class="help-block">URL for the Terms of Service of this client, will be displayed to the user</p> <p class="help-block" data-i18n="client.client-form.terms-help">URL for the Terms of Service of this client, will be displayed to the user</p>
</div> </div>
</div> </div>
<div class="control-group" id="policyUri"> <div class="control-group" id="policyUri">
<label class="control-label">Policy</label> <label class="control-label" data-i18n="client.client-form.policy">Policy</label>
<div class="controls"> <div class="controls">
<input placeholder="https://" value="<%-client.policy_uri ? client.policy_uri : ''%>" maxlength="1000" type="text" class=""/> <input placeholder="https://" value="<%-client.policy_uri ? client.policy_uri : ''%>" maxlength="1000" type="text" class=""/>
<p class="help-block">URL for the Policy Statement of this client, will be displayed to the user</p> <p class="help-block" data-i18n="client.client-form.policy-help">URL for the Policy Statement of this client, will be displayed to the user</p>
</div> </div>
</div> </div>
<div class="control-group" id="clientUri"> <div class="control-group" id="clientUri">
<label class="control-label">Home Page</label> <label class="control-label" data-i18n="client.client-form.home">Home Page</label>
<div class="controls"> <div class="controls">
<input placeholder="https://" value="<%-client.client_uri ? client.client_uri : ''%>" maxlength="1000" type="text" class=""/> <input placeholder="https://" value="<%-client.client_uri ? client.client_uri : ''%>" maxlength="1000" type="text" class=""/>
<p class="help-block">URL for the client's home page, will be displayed to the user</p> <p class="help-block" data-i18n="client.client-form.home-help">URL for the client's home page, will be displayed to the user</p>
</div> </div>
</div> </div>
<div class="control-group" id="applicationType"> <div class="control-group" id="applicationType">
<label class="control-label"><span class="label label-default nyi"><i class="icon-road icon-white"></i> NYI </span> Application Type</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.type">Application Type</span></label>
<div class="controls"> <div class="controls">
<label class="radio inline"> <label class="radio inline">
<input type="radio" name="applicationType" value="NATIVE" <%-(client.application_type == 'NATIVE' ? 'checked' : '')%>> Native <input type="radio" name="applicationType" value="NATIVE" <%-(client.application_type == 'NATIVE' ? 'checked' : '')%>> <span data-i18n="client.client-form.type-native">Native</span>
</label> </label>
<label class="radio inline"> <label class="radio inline">
<input type="radio" name="applicationType" value="WEB" <%-(client.application_type == 'WEB' ? 'checked' : '')%>> Web <input type="radio" name="applicationType" value="WEB" <%-(client.application_type == 'WEB' ? 'checked' : '')%>> <span data-i18n="client.client-form.type-web">Web</span>
</label> </label>
</div> </div>
</div> </div>
<div class="control-group" id="contacts"> <div class="control-group" id="contacts">
<label class="control-label">Contacts</label> <label class="control-label" data-i18n="client.client-form.contacts">Contacts</label>
<div class="controls"> <div class="controls">
<span class="help-block">List of contacts for adminstrators of this client. Your email address (<%- userInfo.email %>) will be automatically added to this list on save.</span> <p class="help-block" data-i18n="client.client-form.contacts-help">List of contacts for adminstrators of this client.</p>
<div></div> <div></div>
</div> </div>
</div> </div>
@ -231,7 +209,7 @@
<div class="tab-pane" id="resource-access-tab"> <div class="tab-pane" id="resource-access-tab">
<div class="control-group" id="scope"> <div class="control-group" id="scope">
<label class="control-label">Scope</label> <label class="control-label" data-i18n="common.scope">Scope</label>
<div class="controls"> <div class="controls">
</div> </div>
</div> </div>
@ -240,50 +218,55 @@
<div class="tab-pane" id="resource-secret-tab"> <div class="tab-pane" id="resource-secret-tab">
<div class="control-group" id="tokenEndpointAuthMethod"> <div class="control-group" id="tokenEndpointAuthMethod">
<label class="control-label">Introspection Endpoint Authentication Method</label> <label class="control-label" data-i18n="client.client-form.authentication-method">Token Endpoint Authentication Method</label>
<div class="controls"> <div class="controls">
<label class="radio"> <div>
<input type="radio" name="tokenEndpointAuthMethod" value="client_secret_basic" <%-(client.token_endpoint_auth_method == 'client_secret_basic' ? 'checked' : '')%>> Client Secret over HTTP Basic <input type="radio" id="tokenEndpointAuthMethodBasic" name="tokenEndpointAuthMethod" value="client_secret_basic" <%-(client.token_endpoint_auth_method == 'client_secret_basic' ? 'checked' : '')%>>
</label> <label for="tokenEndpointAuthMethodBasic" class="radio" data-i18n="client.client-form.secret-http">Client Secret over HTTP Basic</label>
<label class="radio"> </div>
<input type="radio" name="tokenEndpointAuthMethod" value="client_secret_post" <%-(client.token_endpoint_auth_method == 'client_secret_post' ? 'checked' : '')%>> Client Secret over HTTP POST <div>
</label> <input type="radio" id="tokenEndpointAuthMethodPost" name="tokenEndpointAuthMethod" value="client_secret_post" <%-(client.token_endpoint_auth_method == 'client_secret_post' ? 'checked' : '')%>>
<label class="radio"> <label for="tokenEndpointAuthMethodPost" class="radio" data-i18n="client.client-form.secret-post">Client Secret over HTTP POST</label>
<input type="radio" name="tokenEndpointAuthMethod" value="client_secret_jwt" <%-(client.token_endpoint_auth_method == 'client_secret_jwt' ? 'checked' : '')%>> Client Secret via symmetrically-signed JWT assertion </div>
</label> <div>
<label class="radio"> <input type="radio" id="tokenEndpointAuthMethodSymm" name="tokenEndpointAuthMethod" value="client_secret_jwt" <%-(client.token_endpoint_auth_method == 'client_secret_jwt' ? 'checked' : '')%>>
<input type="radio" name="tokenEndpointAuthMethod" value="private_key_jwt" <%-(client.token_endpoint_auth_method == 'private_key_jwt' ? 'checked' : '')%>> Asymmetrically-signed JWT assertion <label for="tokenEndpointAuthMethodSymm" class="radio" data-i18n="client.client-form.secret-symmetric-jwt">Client Secret via symmetrically-signed JWT assertion</label>
</label> </div>
<label class="radio"> <div>
<input type="radio" name="tokenEndpointAuthMethod" value="none" <%-(client.token_endpoint_auth_method == 'none' ? 'checked' : '')%>> No authentication <input type="radio" id="tokenEndpointAuthMethodAssym" name="tokenEndpointAuthMethod" value="private_key_jwt" <%-(client.token_endpoint_auth_method == 'private_key_jwt' ? 'checked' : '')%>>
</label> <label for="tokenEndpointAuthMethodAssym" class="radio" data-i18n="client.client-form.secret-asymmetric-jwt">Asymmetrically-signed JWT assertion</label>
</div> </div>
<div>
<input type="radio" id="tokenEndpointAuthMethodNone" name="tokenEndpointAuthMethod" value="none" <%-(client.token_endpoint_auth_method == 'none' ? 'checked' : '')%>>
<label for="tokenEndpointAuthMethodNone" class="radio" data-i18n="client.client-form.secret-none">No authentication</label>
</div>
</div>
</div> </div>
<div class="control-group" id="tokenEndpointAuthSigningAlg"> <div class="control-group" id="tokenEndpointAuthSigningAlg">
<label class="control-label">Introspection Endpoint Authentication Signing Algorithm</label> <label class="control-label" data-i18n="client.client-form.token-signing-algorithm">Token Endpoint Authentication Signing Algorithm</label>
<div class="controls"> <div class="controls">
<select> <select>
<option value="default" <%-client.token_endpoint_auth_signing_alg == null ? 'selected ' : ''%>>Any allowed</option> <option value="default" <%-client.token_endpoint_auth_signing_alg == null ? 'selected ' : ''%> data-i18n="client.client-form.signing.any">Any allowed</option>
<option value="HS256" <%-client.token_endpoint_auth_signing_alg == "HS256" ? 'selected' : ''%>>HMAC using SHA-256 hash algorithm</option> <option value="HS256" <%-client.token_endpoint_auth_signing_alg == "HS256" ? 'selected' : ''%> data-i18n="client.client-form.signing.hmac-256">HMAC using SHA-256 hash algorithm</option>
<option value="HS384" <%-client.token_endpoint_auth_signing_alg == "HS384" ? 'selected' : ''%>>HMAC using SHA-384 hash algorithm</option> <option value="HS384" <%-client.token_endpoint_auth_signing_alg == "HS384" ? 'selected' : ''%> data-i18n="client.client-form.signing.hmac-384">HMAC using SHA-384 hash algorithm</option>
<option value="HS512" <%-client.token_endpoint_auth_signing_alg == "HS512" ? 'selected' : ''%>>HMAC using SHA-512 hash algorithm</option> <option value="HS512" <%-client.token_endpoint_auth_signing_alg == "HS512" ? 'selected' : ''%> data-i18n="client.client-form.signing.hmac-512">HMAC using SHA-512 hash algorithm</option>
<option value="RS256" <%-client.token_endpoint_auth_signing_alg == "RS256" ? 'selected' : ''%>>RSASSA using SHA-256 hash algorithm</option> <option value="RS256" <%-client.token_endpoint_auth_signing_alg == "RS256" ? 'selected' : ''%> data-i18n="client.client-form.signing.rsassa-256">RSASSA using SHA-256 hash algorithm</option>
<option value="RS384" <%-client.token_endpoint_auth_signing_alg == "RS384" ? 'selected' : ''%>>RSASSA using SHA-384 hash algorithm</option> <option value="RS384" <%-client.token_endpoint_auth_signing_alg == "RS384" ? 'selected' : ''%> data-i18n="client.client-form.signing.rsassa-384">RSASSA using SHA-384 hash algorithm</option>
<option value="RS512" <%-client.token_endpoint_auth_signing_alg == "RS512" ? 'selected' : ''%>>RSASSA using SHA-512 hash algorithm</option> <option value="RS512" <%-client.token_endpoint_auth_signing_alg == "RS512" ? 'selected' : ''%> data-i18n="client.client-form.signing.rsassa-512">RSASSA using SHA-512 hash algorithm</option>
<option value="ES256" <%-client.token_endpoint_auth_signing_alg == "ES256" ? 'selected' : ''%>>ECDSA using P-256 curve and SHA-256 hash algorithm</option> <option value="ES256" <%-client.token_endpoint_auth_signing_alg == "ES256" ? 'selected' : ''%> data-i18n="client.client-form.signing.ecdsa-256">ECDSA using P-256 curve and SHA-256 hash algorithm</option>
<option value="ES384" <%-client.token_endpoint_auth_signing_alg == "ES384" ? 'selected' : ''%>>ECDSA using P-384 curve and SHA-384 hash algorithm</option> <option value="ES384" <%-client.token_endpoint_auth_signing_alg == "ES384" ? 'selected' : ''%> data-i18n="client.client-form.signing.ecdsa-384">ECDSA using P-384 curve and SHA-384 hash algorithm</option>
<option value="ES512" <%-client.token_endpoint_auth_signing_alg == "ES512" ? 'selected' : ''%>>ECDSA using P-512 curve and SHA-512 hash algorithm</option> <option value="ES512" <%-client.token_endpoint_auth_signing_alg == "ES512" ? 'selected' : ''%> data-i18n="client.client-form.signing.ecdsa-512">ECDSA using P-512 curve and SHA-512 hash algorithm</option>
</select> </select>
</div> </div>
</div> </div>
<div class="control-group" id="jwksUri"> <div class="control-group" id="jwksUri">
<label class="control-label">JWK Set</label> <label class="control-label" data-i18n="client.client-form.jwk-set">JWK Set</label>
<div class="controls"> <div class="controls">
<input placeholder="https://" value="<%-client.jwks_uri ? client.jwks_uri : ''%>" maxlength="1000" type="text" class=""/> <input placeholder="https://" value="<%-client.jwks_uri ? client.jwks_uri : ''%>" maxlength="1000" type="text" class=""/>
<p class="help-block">URL for the client's JSON Web Key set</p> <p class="help-block" data-i18n="client.client-form.jwk-set-help">URL for the client's JSON Web Key set</p>
</div> </div>
</div> </div>
</div> </div>