Skip to content

Commit 981ac1b

Browse files
mjatin-devmoabu
andauthored
feat(admin-ui): allow users to install Agama Lab community projects from Admin UI (#1862)
* feat: list agama communities project * feat(admin-ui): allow users to install Agama Lab community projects from Admin UI * agama download api * fix(admin-ui): update token script should reject the tampered user-info-jwt * Implement Add agama projects * Update style in agama list * resolve sonar qube issues * fix: resolve comments --------- Co-authored-by: Mohammad Abudayyeh <47318409+moabu@users.noreply.github.com>
1 parent b6d844a commit 981ac1b

File tree

9 files changed

+567
-153
lines changed

9 files changed

+567
-153
lines changed

admin-ui/app/locales/en/translation.json

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"currentMonth": "Current Month",
2424
"currentYear": "Current Year",
2525
"choose": "Choose",
26+
"deploy":"Deploy",
2627
"edit": "Edit",
2728
"next": "Next",
2829
"no": "No",
@@ -657,7 +658,9 @@
657658
"source_backend_ldap_servers": "Source Backend LDAP Servers",
658659
"inum_db_server": "Inum DB Server",
659660
"static_configuration": "Static Configuration",
660-
"dynamic_configuration": "Dynamic Configuration"
661+
"dynamic_configuration": "Dynamic Configuration",
662+
"upload_agama_project":"Upload Agama project",
663+
"add_community_project":"Add a Community Project"
661664
},
662665
"messages": {
663666
"add_permission": "Add Permission",
@@ -750,7 +753,8 @@
750753
"drag_sha_file": "Drag .sha256sum file here, or click to select file",
751754
"see_project_details": "See project details",
752755
"add_ssa": "Add SSA",
753-
"copied": "Copied"
756+
"copied": "Copied",
757+
"no_data_found": "No data found"
754758
},
755759
"tooltips": {
756760
"add_attribute": "Add attribute",
@@ -884,6 +888,8 @@
884888
"scopes": "Scopes",
885889
"scripts": "Custom Scripts",
886890
"schemaName": "Schema Name",
891+
"select_project_deploy":"Select a project to deploy",
892+
"add_new_agama_project":"Add a new Agama Project",
887893
"user_management": "User Management",
888894
"fido_management": "FIDO Configuration",
889895
"saml_management": "SAML",

admin-ui/app/locales/fr/translation.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,10 @@
107107
"customer_backend_key_attributes": "Clé/attributs du backend client",
108108
"source_backend_ldap_servers": "Serveurs LDAP dorsaux sources",
109109
"inum_db_server": "Serveur de base de données Inum",
110-
"static_configuration": "Configuration statique"
110+
"static_configuration": "Configuration statique",
111+
"dynamic_configuration": "Configuration dynamique",
112+
"upload_agama_project": "Télécharger le projet Agama",
113+
"add_community_project": "Ajouter un projet communautaire"
111114
},
112115
"actions": {
113116
"accept": "J'accepte",
@@ -129,6 +132,7 @@
129132
"change_bind_password": "Modifier le mot de passe de liaison",
130133
"set_password": "Définir le mot de passe",
131134
"choose": "Choisir",
135+
"deploy": "Déployer",
132136
"edit": "Éditer",
133137
"next": "Prochain",
134138
"no": "Non",
@@ -684,7 +688,8 @@
684688
"see_project_details": "Voir les détails du projet",
685689
"add_ssa": "Ajouter SSA",
686690
"copied": "Copié",
687-
"edit_acr": "Modifier ACR"
691+
"edit_acr": "Modifier ACR",
692+
"no_data_found": "Aucune donnée trouvée"
688693
},
689694
"tooltips": {
690695
"add_attribute": "Ajouter un attribut",
@@ -799,6 +804,8 @@
799804
"scopes": "Portées",
800805
"scripts": "Scénarios",
801806
"schemaName": "Nom du schéma",
807+
"select_project_deploy": "Sélectionnez un projet à déployer",
808+
"add_new_agama_project": "Ajouter un nouveau projet Agama",
802809
"user_management": "Gestion des utilisateurs",
803810
"ssa_management": "SSA Gestion",
804811
"jans_ink": "Jans Link",

admin-ui/app/locales/pt/translation.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@
105105
"customer_backend_key_attributes": "Chave/atributos de back-end do cliente",
106106
"source_backend_ldap_servers": "Servidores LDAP de back-end de origem",
107107
"inum_db_server": "Servidor DB Inum",
108-
"static_configuration": "Configuração estática"
108+
"static_configuration": "Configuração estática",
109+
"dynamic_configuration": "Configuração Dinâmica",
110+
"upload_agama_project": "Fazer upload do projeto Agama",
111+
"add_community_project": "Adicionar um projeto comunitário"
109112
},
110113
"actions": {
111114
"accept": "Aceitar",
@@ -127,6 +130,7 @@
127130
"cancel": "Cancelar",
128131
"clear": "Limpar",
129132
"choose": "Escolher",
133+
"deploy": "Implantar",
130134
"edit": "Editar",
131135
"next": "Próxima",
132136
"no": "Não",
@@ -679,7 +683,8 @@
679683
"see_project_details": "Ver detalhes do projeto",
680684
"add_ssa": "Adicionar SSA",
681685
"copied": "Copiado",
682-
"edit_acr": "Editar ACR"
686+
"edit_acr": "Editar ACR",
687+
"no_data_found": "Nenhum dado encontrado"
683688
},
684689
"tooltips": {
685690
"add_attribute": "Adicionar atributo",
@@ -794,6 +799,8 @@
794799
"scopes": "Scopes",
795800
"scripts": "Scripts",
796801
"schemaName": "Nome do esquema",
802+
"select_project_deploy": "Selecione um projeto para implantar",
803+
"add_new_agama_project": "Adicionar um novo projeto Agama",
797804
"user_management": "Gerenciamento de usuários",
798805
"project_configuration": "Configuração do projeto",
799806
"ssa_management": "SSA Gerenciamento",

admin-ui/configApiSpecs.yaml

Lines changed: 111 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -514,6 +514,71 @@ paths:
514514
security:
515515
- oauth2:
516516
- 'https://jans.io/oauth/config/agama.readonly'
517+
/api/v1/agama-repo/download:
518+
get:
519+
tags:
520+
- Agama
521+
summary: Download agama project.
522+
description: Download agama project.
523+
operationId: get-agama-project
524+
parameters:
525+
- name: downloadLink
526+
in: query
527+
description: Agama project download Link
528+
schema:
529+
type: string
530+
responses:
531+
'200':
532+
description: Agama project
533+
content:
534+
application/json:
535+
schema:
536+
type: string
537+
format: binary
538+
'204':
539+
description: No Content
540+
'401':
541+
description: Unauthorized
542+
'404':
543+
description: Not Found
544+
'500':
545+
description: InternalServerError
546+
security:
547+
- oauth2:
548+
- 'https://jans.io/oauth/config/agama-repo.readonly'
549+
- 'https://jans.io/oauth/config/agama-repo.write'
550+
- 'https://jans.io/oauth/config/read-all'
551+
/api/v1/agama-repo:
552+
get:
553+
tags:
554+
- Agama
555+
summary: Gets all agama repositories.
556+
description: Gets all agama repositories.
557+
operationId: get-agama-repositories
558+
responses:
559+
'200':
560+
description: Agama repositories
561+
content:
562+
application/json:
563+
schema:
564+
$ref: '#/components/schemas/JsonNode'
565+
examples:
566+
Response json example:
567+
description: Response json example
568+
value: ''
569+
'204':
570+
description: No Content
571+
'401':
572+
description: Unauthorized
573+
'404':
574+
description: Not Found
575+
'500':
576+
description: InternalServerError
577+
security:
578+
- oauth2:
579+
- 'https://jans.io/oauth/config/agama-repo.readonly'
580+
- 'https://jans.io/oauth/config/agama-repo.write'
581+
- 'https://jans.io/oauth/config/read-all'
517582
'/api/v1/agama/syntax-check/{qname}':
518583
post:
519584
tags:
@@ -4631,6 +4696,7 @@ paths:
46314696
- uma_rpt_claims
46324697
- uma_claims_gathering
46334698
- access_evaluation
4699+
- access_evaluation_discovery
46344700
- consent_gathering
46354701
- dynamic_scope
46364702
- spontaneous_scope
@@ -13520,20 +13586,22 @@ components:
1352013586
$ref: '#/components/schemas/AttributeValidation'
1352113587
tooltip:
1352213588
type: string
13589+
selected:
13590+
type: boolean
1352313591
whitePagesCanView:
1352413592
type: boolean
1352513593
userCanView:
1352613594
type: boolean
13527-
adminCanEdit:
13528-
type: boolean
1352913595
userCanEdit:
1353013596
type: boolean
13531-
adminCanView:
13532-
type: boolean
1353313597
userCanAccess:
1353413598
type: boolean
1353513599
adminCanAccess:
1353613600
type: boolean
13601+
adminCanEdit:
13602+
type: boolean
13603+
adminCanView:
13604+
type: boolean
1353713605
baseDn:
1353813606
type: string
1353913607
PatchRequest:
@@ -13620,6 +13688,9 @@ components:
1362013688
type: boolean
1362113689
accessEvaluationScriptName:
1362213690
type: string
13691+
accessEvaluationDiscoveryCacheLifetimeInMinutes:
13692+
type: integer
13693+
format: int32
1362313694
requireRequestObjectEncryption:
1362413695
type: boolean
1362513696
requirePkce:
@@ -13906,6 +13977,9 @@ components:
1390613977
accessTokenLifetime:
1390713978
type: integer
1390813979
format: int32
13980+
userInfoLifetime:
13981+
type: integer
13982+
format: int32
1390913983
cleanServiceInterval:
1391013984
type: integer
1391113985
format: int32
@@ -14069,6 +14143,8 @@ components:
1406914143
type: string
1407014144
shareSubjectIdBetweenClientsWithSameSectorId:
1407114145
type: boolean
14146+
useOpenidSubAttributeValueForPairwiseLocalAccountId:
14147+
type: boolean
1407214148
webKeysStorage:
1407314149
type: string
1407414150
enum:
@@ -14386,8 +14462,6 @@ components:
1438614462
type: boolean
1438714463
lockMessageConfig:
1438814464
$ref: '#/components/schemas/LockMessageConfig'
14389-
fapi:
14390-
type: boolean
1439114465
allResponseTypesSupported:
1439214466
uniqueItems: true
1439314467
type: array
@@ -14397,6 +14471,8 @@ components:
1439714471
- code
1439814472
- token
1439914473
- id_token
14474+
fapi:
14475+
type: boolean
1440014476
AuthenticationFilter:
1440114477
required:
1440214478
- baseDn
@@ -15163,10 +15239,10 @@ components:
1516315239
type: array
1516415240
items:
1516515241
type: object
15166-
displayValue:
15167-
type: string
1516815242
value:
1516915243
type: object
15244+
displayValue:
15245+
type: string
1517015246
LocalizedString:
1517115247
type: object
1517215248
properties:
@@ -15468,6 +15544,7 @@ components:
1546815544
- uma_rpt_claims
1546915545
- uma_claims_gathering
1547015546
- access_evaluation
15547+
- access_evaluation_discovery
1547115548
- consent_gathering
1547215549
- dynamic_scope
1547315550
- spontaneous_scope
@@ -16046,6 +16123,8 @@ components:
1604616123
type: string
1604716124
online_access:
1604816125
type: boolean
16126+
authorization_challenge:
16127+
type: boolean
1604916128
attributes:
1605016129
type: object
1605116130
additionalProperties:
@@ -16330,15 +16409,15 @@ components:
1633016409
type: string
1633116410
username:
1633216411
type: string
16333-
domain:
16412+
origin:
1633416413
type: string
1633516414
userId:
1633616415
type: string
1633716416
challenge:
1633816417
type: string
16339-
attenstationRequest:
16418+
attestationRequest:
1634016419
type: string
16341-
attenstationResponse:
16420+
attestationResponse:
1634216421
type: string
1634316422
uncompressedECPoint:
1634416423
type: string
@@ -16361,8 +16440,28 @@ components:
1636116440
signatureAlgorithm:
1636216441
type: integer
1636316442
format: int32
16364-
applicationId:
16443+
rpId:
1636516444
type: string
16445+
backupStateFlag:
16446+
type: boolean
16447+
backupEligibilityFlag:
16448+
type: boolean
16449+
attestedCredentialDataFlag:
16450+
type: boolean
16451+
extensionDataFlag:
16452+
type: boolean
16453+
userVerifiedFlag:
16454+
type: boolean
16455+
userPresentFlag:
16456+
type: boolean
16457+
authentictatorAttachment:
16458+
type: string
16459+
credId:
16460+
type: string
16461+
transports:
16462+
type: array
16463+
items:
16464+
type: string
1636616465
Fido2RegistrationEntry:
1636716466
type: object
1636816467
properties:

0 commit comments

Comments
 (0)