Add manager option for userinfo signature alg (#2547)

increase-RDBI-perf
Maxime Besson 4 years ago
parent bdeb1e70d9
commit 4aa9edb2cc
  1. 2
      lemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/ReConstants.pm
  2. 37
      lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Attributes.pm
  3. 14
      lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/Attributes.pm
  4. 1
      lemonldap-ng-manager/lib/Lemonldap/NG/Manager/Build/CTrees.pm
  5. 41
      lemonldap-ng-manager/site/htdocs/static/js/conftree.js
  6. 2
      lemonldap-ng-manager/site/htdocs/static/js/conftree.min.js
  7. 2
      lemonldap-ng-manager/site/htdocs/static/js/conftree.min.js.map
  8. 3
      lemonldap-ng-manager/site/htdocs/static/languages/ar.json
  9. 3
      lemonldap-ng-manager/site/htdocs/static/languages/de.json
  10. 1
      lemonldap-ng-manager/site/htdocs/static/languages/en.json
  11. 3
      lemonldap-ng-manager/site/htdocs/static/languages/es.json
  12. 1
      lemonldap-ng-manager/site/htdocs/static/languages/fr.json
  13. 3
      lemonldap-ng-manager/site/htdocs/static/languages/it.json
  14. 3
      lemonldap-ng-manager/site/htdocs/static/languages/pl.json
  15. 3
      lemonldap-ng-manager/site/htdocs/static/languages/tr.json
  16. 3
      lemonldap-ng-manager/site/htdocs/static/languages/vi.json
  17. 3
      lemonldap-ng-manager/site/htdocs/static/languages/zh.json
  18. 3
      lemonldap-ng-manager/site/htdocs/static/languages/zh_TW.json

@ -27,7 +27,7 @@ our $specialNodeKeys = '(?:(?:(?:saml(?:ID|S)|oidc[OR])P|cas(?:App|Srv))MetaData
our $casAppMetaDataNodeKeys = 'casAppMetaData(?:Options(?:(?:UserAttribut|Servic|Rul)e|AuthnLevel)|(?:ExportedVar|Macro)s)'; our $casAppMetaDataNodeKeys = 'casAppMetaData(?:Options(?:(?:UserAttribut|Servic|Rul)e|AuthnLevel)|(?:ExportedVar|Macro)s)';
our $casSrvMetaDataNodeKeys = 'casSrvMetaData(?:Options(?:ProxiedServices|DisplayName|SortNumber|Gateway|Renew|Icon|Url)|ExportedVars)'; our $casSrvMetaDataNodeKeys = 'casSrvMetaData(?:Options(?:ProxiedServices|DisplayName|SortNumber|Gateway|Renew|Icon|Url)|ExportedVars)';
our $oidcOPMetaDataNodeKeys = 'oidcOPMetaData(?:Options(?:C(?:lient(?:Secret|ID)|heckJWTSignature|onfigurationURI)|S(?:toreIDToken|ortNumber|cope)|TokenEndpointAuthMethod|(?:JWKSTimeou|Promp)t|I(?:DTokenMaxAge|con)|U(?:iLocales|seNonce)|Display(?:Name)?|AcrValues|MaxAge)|ExportedVars|J(?:SON|WKS))'; our $oidcOPMetaDataNodeKeys = 'oidcOPMetaData(?:Options(?:C(?:lient(?:Secret|ID)|heckJWTSignature|onfigurationURI)|S(?:toreIDToken|ortNumber|cope)|TokenEndpointAuthMethod|(?:JWKSTimeou|Promp)t|I(?:DTokenMaxAge|con)|U(?:iLocales|seNonce)|Display(?:Name)?|AcrValues|MaxAge)|ExportedVars|J(?:SON|WKS))';
our $oidcRPMetaDataNodeKeys = 'oidcRPMetaData(?:Options(?:A(?:llow(?:(?:ClientCredentials|Password)Grant|Offline)|ccessToken(?:Expiration|SignAlg|Claims|JWT)|uth(?:orizationCodeExpiration|nLevel)|dditionalAudiences)|I(?:DToken(?:ForceClaims|Expiration|SignAlg)|con)|R(?:e(?:directUris|freshToken|quirePKCE)|ule)|Logout(?:SessionRequired|Type|Url)|P(?:ostLogoutRedirectUris|ublic)|OfflineSessionExpiration|Client(?:Secret|ID)|BypassConsent|DisplayName|ExtraClaims|UserIDAttr)|(?:ExportedVar|ScopeRule|Macro)s)'; our $oidcRPMetaDataNodeKeys = 'oidcRPMetaData(?:Options(?:A(?:llow(?:(?:ClientCredentials|Password)Grant|Offline)|ccessToken(?:Expiration|SignAlg|Claims|JWT)|uth(?:orizationCodeExpiration|nLevel)|dditionalAudiences)|I(?:DToken(?:ForceClaims|Expiration|SignAlg)|con)|R(?:e(?:directUris|freshToken|quirePKCE)|ule)|Logout(?:SessionRequired|Type|Url)|P(?:ostLogoutRedirectUris|ublic)|UserI(?:nfoSignAlg|DAttr)|OfflineSessionExpiration|Client(?:Secret|ID)|BypassConsent|DisplayName|ExtraClaims)|(?:ExportedVar|ScopeRule|Macro)s)';
our $samlIDPMetaDataNodeKeys = 'samlIDPMetaData(?:Options(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|EncryptionMod|UserAttribut|DisplayNam)e|S(?:ign(?:S[LS]OMessage|atureMethod)|toreSAMLToken|[LS]OBinding|ortNumber)|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Re(?:questedAuthnContext|solutionRule|layStateURL)|Force(?:Authn|UTF8)|I(?:sPassive|con)|NameIDFormat)|ExportedAttributes|XML)'; our $samlIDPMetaDataNodeKeys = 'samlIDPMetaData(?:Options(?:(?:Check(?:S[LS]OMessageSignatur|Audienc|Tim)|EncryptionMod|UserAttribut|DisplayNam)e|S(?:ign(?:S[LS]OMessage|atureMethod)|toreSAMLToken|[LS]OBinding|ortNumber)|A(?:llow(?:LoginFromIDP|ProxiedAuthn)|daptSessionUtime)|Re(?:questedAuthnContext|solutionRule|layStateURL)|Force(?:Authn|UTF8)|I(?:sPassive|con)|NameIDFormat)|ExportedAttributes|XML)';
our $samlSPMetaDataNodeKeys = 'samlSPMetaData(?:Options(?:S(?:ign(?:S[LS]OMessage|atureMethod)|essionNotOnOrAfterTimeout)|N(?:ameID(?:SessionKey|Format)|otOnOrAfterTimeout)|(?:CheckS[LS]OMessageSignatur|OneTimeUs|Rul)e|En(?:ableIDPInitiatedURL|cryptionMode)|AuthnLevel|ForceUTF8)|(?:ExportedAttribute|Macro)s|XML)'; our $samlSPMetaDataNodeKeys = 'samlSPMetaData(?:Options(?:S(?:ign(?:S[LS]OMessage|atureMethod)|essionNotOnOrAfterTimeout)|N(?:ameID(?:SessionKey|Format)|otOnOrAfterTimeout)|(?:CheckS[LS]OMessageSignatur|OneTimeUs|Rul)e|En(?:ableIDPInitiatedURL|cryptionMode)|AuthnLevel|ForceUTF8)|(?:ExportedAttribute|Macro)s|XML)';
our $virtualHostKeys = '(?:vhost(?:A(?:ccessToTrace|uthnLevel|liases)|(?:Maintenanc|Typ)e|ServiceTokenTTL|Https|Port)|(?:exportedHeader|locationRule)s|post)'; our $virtualHostKeys = '(?:vhost(?:A(?:ccessToTrace|uthnLevel|liases)|(?:Maintenanc|Typ)e|ServiceTokenTTL|Https|Port)|(?:exportedHeader|locationRule)s|post)';

@ -2449,6 +2449,43 @@ m[^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
'oidcRPMetaDataOptionsUserIDAttr' => { 'oidcRPMetaDataOptionsUserIDAttr' => {
'type' => 'text' 'type' => 'text'
}, },
'oidcRPMetaDataOptionsUserInfoSignAlg' => {
'default' => '',
'select' => [ {
'k' => '',
'v' => ''
},
{
'k' => 'none',
'v' => 'None'
},
{
'k' => 'HS256',
'v' => 'HS256'
},
{
'k' => 'HS384',
'v' => 'HS384'
},
{
'k' => 'HS512',
'v' => 'HS512'
},
{
'k' => 'RS256',
'v' => 'RS256'
},
{
'k' => 'RS384',
'v' => 'RS384'
},
{
'k' => 'RS512',
'v' => 'RS512'
}
],
'type' => 'select'
},
'oidcRPMetaDataScopeRules' => { 'oidcRPMetaDataScopeRules' => {
'default' => {}, 'default' => {},
'test' => { 'test' => {

@ -4252,6 +4252,20 @@ m{^(?:ldapi://[^/]*/?|\w[\w\-\.]*(?::\d{1,5})?|ldap(?:s|\+tls)?://\w[\w\-\.]*(?:
], ],
default => 'RS256', default => 'RS256',
}, },
oidcRPMetaDataOptionsUserInfoSignAlg => {
type => 'select',
select => [
{ k => '', v => '' },
{ k => 'none', v => 'None' },
{ k => 'HS256', v => 'HS256' },
{ k => 'HS384', v => 'HS384' },
{ k => 'HS512', v => 'HS512' },
{ k => 'RS256', v => 'RS256' },
{ k => 'RS384', v => 'RS384' },
{ k => 'RS512', v => 'RS512' },
],
default => '',
},
oidcRPMetaDataOptionsAccessTokenJWT => { type => 'bool', default => 0 }, oidcRPMetaDataOptionsAccessTokenJWT => { type => 'bool', default => 0 },
oidcRPMetaDataOptionsAccessTokenClaims => oidcRPMetaDataOptionsAccessTokenClaims =>
{ type => 'bool', default => 0 }, { type => 'bool', default => 0 },

@ -224,6 +224,7 @@ sub cTrees {
nodes => [ nodes => [
'oidcRPMetaDataOptionsIDTokenSignAlg', 'oidcRPMetaDataOptionsIDTokenSignAlg',
'oidcRPMetaDataOptionsAccessTokenSignAlg', 'oidcRPMetaDataOptionsAccessTokenSignAlg',
'oidcRPMetaDataOptionsUserInfoSignAlg',
'oidcRPMetaDataOptionsRequirePKCE', 'oidcRPMetaDataOptionsRequirePKCE',
'oidcRPMetaDataOptionsAllowOffline', 'oidcRPMetaDataOptionsAllowOffline',
'oidcRPMetaDataOptionsAllowPasswordGrant', 'oidcRPMetaDataOptionsAllowPasswordGrant',

@ -567,6 +567,47 @@ function templates(tpl,key) {
"title" : "oidcRPMetaDataOptionsAccessTokenSignAlg", "title" : "oidcRPMetaDataOptionsAccessTokenSignAlg",
"type" : "select" "type" : "select"
}, },
{
"default" : "",
"get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsUserInfoSignAlg",
"id" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsUserInfoSignAlg",
"select" : [
{
"k" : "",
"v" : ""
},
{
"k" : "none",
"v" : "None"
},
{
"k" : "HS256",
"v" : "HS256"
},
{
"k" : "HS384",
"v" : "HS384"
},
{
"k" : "HS512",
"v" : "HS512"
},
{
"k" : "RS256",
"v" : "RS256"
},
{
"k" : "RS384",
"v" : "RS384"
},
{
"k" : "RS512",
"v" : "RS512"
}
],
"title" : "oidcRPMetaDataOptionsUserInfoSignAlg",
"type" : "select"
},
{ {
"default" : 0, "default" : 0,
"get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsRequirePKCE", "get" : tpl+"s/"+key+"/"+"oidcRPMetaDataOptionsRequirePKCE",

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"قاعدة الدخول", "oidcRPMetaDataOptionsRule":"قاعدة الدخول",
"oidcRPMetaDataOptionsTimeouts":"Timeouts", "oidcRPMetaDataOptionsTimeouts":"Timeouts",
"oidcRPMetaDataOptionsUserIDAttr":"خاصّيّة المستخدم", "oidcRPMetaDataOptionsUserIDAttr":"خاصّيّة المستخدم",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"اسم أوبين أيدي كونيكت RP", "oidcRPName":"اسم أوبين أيدي كونيكت RP",
"oidcRPStateTimeout":"حالة مهلة الجلسة", "oidcRPStateTimeout":"حالة مهلة الجلسة",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"خدمة أل يو أر ل", "yubikey2fUrl":"خدمة أل يو أر ل",
"yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey", "yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey",
"zeroConfExplanations":"لا يحتوي الخادم على إعدادات. استخدام قالب لحفظ الأول" "zeroConfExplanations":"لا يحتوي الخادم على إعدادات. استخدام قالب لحفظ الأول"
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Access rule", "oidcRPMetaDataOptionsRule":"Access rule",
"oidcRPMetaDataOptionsTimeouts":"Timeouts", "oidcRPMetaDataOptionsTimeouts":"Timeouts",
"oidcRPMetaDataOptionsUserIDAttr":"User attribute", "oidcRPMetaDataOptionsUserIDAttr":"User attribute",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"OpenID Connect RP Name", "oidcRPName":"OpenID Connect RP Name",
"oidcRPStateTimeout":"State session timeout", "oidcRPStateTimeout":"State session timeout",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"Service URL", "yubikey2fUrl":"Service URL",
"yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey", "yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey",
"zeroConfExplanations":"Server has no configuration. Use template to save the first." "zeroConfExplanations":"Server has no configuration. Use template to save the first."
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Access rule", "oidcRPMetaDataOptionsRule":"Access rule",
"oidcRPMetaDataOptionsTimeouts":"Timeouts", "oidcRPMetaDataOptionsTimeouts":"Timeouts",
"oidcRPMetaDataOptionsUserIDAttr":"User attribute", "oidcRPMetaDataOptionsUserIDAttr":"User attribute",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"OpenID Connect RP Name", "oidcRPName":"OpenID Connect RP Name",
"oidcRPStateTimeout":"State session timeout", "oidcRPStateTimeout":"State session timeout",

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Regla de acceso", "oidcRPMetaDataOptionsRule":"Regla de acceso",
"oidcRPMetaDataOptionsTimeouts":"Timeouts", "oidcRPMetaDataOptionsTimeouts":"Timeouts",
"oidcRPMetaDataOptionsUserIDAttr":"Atributo de usuario", "oidcRPMetaDataOptionsUserIDAttr":"Atributo de usuario",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"OpenID Connect RP Name", "oidcRPName":"OpenID Connect RP Name",
"oidcRPStateTimeout":"Caducidad de estado de sesión", "oidcRPStateTimeout":"Caducidad de estado de sesión",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"Service URL", "yubikey2fUrl":"Service URL",
"yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey", "yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey",
"zeroConfExplanations":"Server has no configuration. Use template to save the first." "zeroConfExplanations":"Server has no configuration. Use template to save the first."
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Règle d'accès", "oidcRPMetaDataOptionsRule":"Règle d'accès",
"oidcRPMetaDataOptionsTimeouts":"Expiration", "oidcRPMetaDataOptionsTimeouts":"Expiration",
"oidcRPMetaDataOptionsUserIDAttr":"Attribut de l'utilisateur", "oidcRPMetaDataOptionsUserIDAttr":"Attribut de l'utilisateur",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Algorithme de signature des informations utilisateur",
"oidcRPMetaDataScopeRules":"Règles de scope", "oidcRPMetaDataScopeRules":"Règles de scope",
"oidcRPName":"Nom du client OpenID Connect", "oidcRPName":"Nom du client OpenID Connect",
"oidcRPStateTimeout":"Durée d'une session state", "oidcRPStateTimeout":"Durée d'une session state",

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Regola di accesso", "oidcRPMetaDataOptionsRule":"Regola di accesso",
"oidcRPMetaDataOptionsTimeouts":"Timeouts", "oidcRPMetaDataOptionsTimeouts":"Timeouts",
"oidcRPMetaDataOptionsUserIDAttr":"Attributo utente", "oidcRPMetaDataOptionsUserIDAttr":"Attributo utente",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"Nome di OpenID Connect RP", "oidcRPName":"Nome di OpenID Connect RP",
"oidcRPStateTimeout":"Durata della sessione stato", "oidcRPStateTimeout":"Durata della sessione stato",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"URL del servizio", "yubikey2fUrl":"URL del servizio",
"yubikey2fUserCanRemoveKey":"Autorizza l'utente a rimuovere la Yubikey", "yubikey2fUserCanRemoveKey":"Autorizza l'utente a rimuovere la Yubikey",
"zeroConfExplanations":"Il server non ha alcuna configurazione. Utilizza il modello per salvare il primo." "zeroConfExplanations":"Il server non ha alcuna configurazione. Utilizza il modello per salvare il primo."
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Reguła dostępu", "oidcRPMetaDataOptionsRule":"Reguła dostępu",
"oidcRPMetaDataOptionsTimeouts":"Limit czasu", "oidcRPMetaDataOptionsTimeouts":"Limit czasu",
"oidcRPMetaDataOptionsUserIDAttr":"Atrybut użytkownika", "oidcRPMetaDataOptionsUserIDAttr":"Atrybut użytkownika",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Zasady dotyczące zakresu", "oidcRPMetaDataScopeRules":"Zasady dotyczące zakresu",
"oidcRPName":"Nazwa RP OpenID Connect", "oidcRPName":"Nazwa RP OpenID Connect",
"oidcRPStateTimeout":"Limit czasu sesji stanowej", "oidcRPStateTimeout":"Limit czasu sesji stanowej",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"URL usługi", "yubikey2fUrl":"URL usługi",
"yubikey2fUserCanRemoveKey":"Pozwól użytkownikowi usunąć Yubikey", "yubikey2fUserCanRemoveKey":"Pozwól użytkownikowi usunąć Yubikey",
"zeroConfExplanations":"Serwer nie ma konfiguracji. Użyj szablonu, aby zapisać pierwszy." "zeroConfExplanations":"Serwer nie ma konfiguracji. Użyj szablonu, aby zapisać pierwszy."
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Erişim kuralı", "oidcRPMetaDataOptionsRule":"Erişim kuralı",
"oidcRPMetaDataOptionsTimeouts":"Zaman aşımları", "oidcRPMetaDataOptionsTimeouts":"Zaman aşımları",
"oidcRPMetaDataOptionsUserIDAttr":"Kullanıcı niteliği", "oidcRPMetaDataOptionsUserIDAttr":"Kullanıcı niteliği",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Kapsam kuralları", "oidcRPMetaDataScopeRules":"Kapsam kuralları",
"oidcRPName":"OpenID Connect RP Adı", "oidcRPName":"OpenID Connect RP Adı",
"oidcRPStateTimeout":"Oturum zaman aşımını belirle", "oidcRPStateTimeout":"Oturum zaman aşımını belirle",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"Servis URL'si", "yubikey2fUrl":"Servis URL'si",
"yubikey2fUserCanRemoveKey":"Yubikey'i kaldırmak için kullanıcıya izin ver", "yubikey2fUserCanRemoveKey":"Yubikey'i kaldırmak için kullanıcıya izin ver",
"zeroConfExplanations":"Sunucunun yapılandırması yok. Şimdi bir tane kaydetmek için şablonu kullanın." "zeroConfExplanations":"Sunucunun yapılandırması yok. Şimdi bir tane kaydetmek için şablonu kullanın."
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Quy tắc truy cập", "oidcRPMetaDataOptionsRule":"Quy tắc truy cập",
"oidcRPMetaDataOptionsTimeouts":"Timeouts", "oidcRPMetaDataOptionsTimeouts":"Timeouts",
"oidcRPMetaDataOptionsUserIDAttr":"thuộc tính người dùng", "oidcRPMetaDataOptionsUserIDAttr":"thuộc tính người dùng",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"OpenID Connect RP Name", "oidcRPName":"OpenID Connect RP Name",
"oidcRPStateTimeout":"Thời gian chờ của trạng thái phiên làm việc", "oidcRPStateTimeout":"Thời gian chờ của trạng thái phiên làm việc",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"Dịch vụ URL", "yubikey2fUrl":"Dịch vụ URL",
"yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey", "yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey",
"zeroConfExplanations":"Máy chủ không có cấu hình. Sử dụng mẫu để lưu đầu tiên. " "zeroConfExplanations":"Máy chủ không có cấu hình. Sử dụng mẫu để lưu đầu tiên. "
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"Access rule", "oidcRPMetaDataOptionsRule":"Access rule",
"oidcRPMetaDataOptionsTimeouts":"Timeouts", "oidcRPMetaDataOptionsTimeouts":"Timeouts",
"oidcRPMetaDataOptionsUserIDAttr":"User attribute", "oidcRPMetaDataOptionsUserIDAttr":"User attribute",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"OpenID Connect RP Name", "oidcRPName":"OpenID Connect RP Name",
"oidcRPStateTimeout":"State session timeout", "oidcRPStateTimeout":"State session timeout",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"Service URL", "yubikey2fUrl":"Service URL",
"yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey", "yubikey2fUserCanRemoveKey":"Allow user to remove Yubikey",
"zeroConfExplanations":"Server has no configuration. Use template to save the first." "zeroConfExplanations":"Server has no configuration. Use template to save the first."
} }

@ -686,6 +686,7 @@
"oidcRPMetaDataOptionsRule":"存取規則", "oidcRPMetaDataOptionsRule":"存取規則",
"oidcRPMetaDataOptionsTimeouts":"逾時", "oidcRPMetaDataOptionsTimeouts":"逾時",
"oidcRPMetaDataOptionsUserIDAttr":"使用者屬性", "oidcRPMetaDataOptionsUserIDAttr":"使用者屬性",
"oidcRPMetaDataOptionsUserInfoSignAlg":"Userinfo signature algorithm",
"oidcRPMetaDataScopeRules":"Scope rules", "oidcRPMetaDataScopeRules":"Scope rules",
"oidcRPName":"OpenID 連線 RP 名稱", "oidcRPName":"OpenID 連線 RP 名稱",
"oidcRPStateTimeout":"狀態工作階段逾時", "oidcRPStateTimeout":"狀態工作階段逾時",
@ -1206,4 +1207,4 @@
"yubikey2fUrl":"服務 URL", "yubikey2fUrl":"服務 URL",
"yubikey2fUserCanRemoveKey":"允許使用者移除 Yubikey", "yubikey2fUserCanRemoveKey":"允許使用者移除 Yubikey",
"zeroConfExplanations":"伺服器未設定。使用飯本來儲存第一個。" "zeroConfExplanations":"伺服器未設定。使用飯本來儲存第一個。"
} }

Loading…
Cancel
Save