Skip to content
This repository was archived by the owner on Jun 25, 2024. It is now read-only.

Commit d207f9a

Browse files
Merge pull request #63 from silinternational/develop
display the sp name when known
2 parents 9a3583c + eb5ee2f commit d207f9a

10 files changed

Lines changed: 334 additions & 245 deletions

File tree

Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ errors:
99
docker-compose exec idp4 cat /var/log/apache2/error.log
1010
docker-compose exec hub2 cat /var/log/apache2/error.log
1111
docker-compose exec idp3 cat /var/log/apache2/error.log
12+
docker-compose exec sp cat /var/log/apache2/error.log
1213

1314
clean:
1415
docker-compose kill

README.md

Lines changed: 153 additions & 127 deletions
Large diffs are not rendered by default.

development/hub/idp-remote.php

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
<?php
2+
return [
3+
'http://ssp-idp1.local:8085' => [
4+
'enabled' => true,
5+
'metadata-set' => 'saml20-idp-remote',
6+
'entityid' => 'http://ssp-idp1.local:8085',
7+
'name' => [
8+
'en' => 'IdP 1'
9+
],
10+
'SingleSignOnService' => 'http://ssp-idp1.local:8085/saml2/idp/SSOService.php',
11+
'SingleLogoutService' => 'http://ssp-idp1.local:8085/saml2/idp/SingleLogoutService.php',
12+
'certData' => 'MIIDzzCCAregAwIBAgIJAPlZYTAQSIbHMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOQzEPMA0GA1UEBwwGV2F4aGF3MQwwCgYDVQQKDANTSUwxDTALBgNVBAsMBEdUSVMxDjAMBgNVBAMMBVN0ZXZlMSQwIgYJKoZIhvcNAQkBFhVzdGV2ZV9iYWd3ZWxsQHNpbC5vcmcwHhcNMTYxMDE3MTIzMTQ1WhcNMjYxMDE3MTIzMTQ1WjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCTkMxDzANBgNVBAcMBldheGhhdzEMMAoGA1UECgwDU0lMMQ0wCwYDVQQLDARHVElTMQ4wDAYDVQQDDAVTdGV2ZTEkMCIGCSqGSIb3DQEJARYVc3RldmVfYmFnd2VsbEBzaWwub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArssOaeKbdOQFpN6bBolwSJ/6QFBXA73Sotg60anx9v6aYdUTmi+b7SVtvOmHDgsD5X8pN/6Z11QCZfTYg2nW3ZevGZsj8W/R6C8lRLHzWUr7e7DXKfj8GKZptHlUs68kn0ndNVt9r/+irJe9KBdZ+4kAihykomNdeZg06bvkklxVcvpkOfLTQzEqJAmISPPIeOXes6hXORdqLuRNTuIKarcZ9rstLnpgAs2TE4XDOrSuUg3XFnM05eDpFQpUb0RXWcD16mLCPWw+CPrGoCfoftD5ZGfll+W2wZ7d0kQ4TbCpNyxQH35q65RPVyVNPgSNSsFFkmdcqP9DsFqjJ8YC6wIDAQABo1AwTjAdBgNVHQ4EFgQUD6oyJKOPPhvLQpDCC3027QcuQwUwHwYDVR0jBBgwFoAUD6oyJKOPPhvLQpDCC3027QcuQwUwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAA6tCLHJQGfXGdFerQ3J0wUu8YDSLb0WJqPtGdIuyeiywR5ooJf8G/jjYMPgZArepLQSSi6t8/cjEdkYWejGnjMG323drQ9M1sKMUhOJF4po9R3t7IyvGAL3fSqjXA8JXH5MuGuGtChWxaqhduA0dBJhFAtAXQ61IuIQF7vSFxhTwCvJnaWdWD49sG5OqjCfgIQdY/mw70e45rLnR/bpfoigL67sTJxy+Kx2ogbvMR6lITByOEQFMt7BYpMtXrwvKUM7k9NOo1jREmJacC8PTx//jRhCWwzUj1RsfIri24BuITrawwqMsYl8DZiiwMpjUf9m4NPaf4E7+QRpzo+MCcg==',
13+
],
14+
'http://ssp-idp2.local:8086'=> [
15+
'enabled' => true,
16+
'metadata-set' => 'saml20-idp-remote',
17+
'entityid' => 'http://ssp-idp2.local:8086',
18+
'name' => [
19+
'en' => 'IdP 2'
20+
],
21+
'SingleSignOnService' => 'http://ssp-idp2.local:8086/saml2/idp/SSOService.php',
22+
'SingleLogoutService' => 'http://ssp-idp2.local:8086/saml2/idp/SingleLogoutService.php',
23+
'certData' => 'MIIDzzCCAregAwIBAgIJALBaUrvz1X5DMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOQzEPMA0GA1UEBwwGV2F4aGF3MQwwCgYDVQQKDANTSUwxDTALBgNVBAsMBEdUSVMxDjAMBgNVBAMMBVN0ZXZlMSQwIgYJKoZIhvcNAQkBFhVzdGV2ZV9iYWd3ZWxsQHNpbC5vcmcwHhcNMTYxMDE4MTQwMDUxWhcNMjYxMDE4MTQwMDUxWjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCTkMxDzANBgNVBAcMBldheGhhdzEMMAoGA1UECgwDU0lMMQ0wCwYDVQQLDARHVElTMQ4wDAYDVQQDDAVTdGV2ZTEkMCIGCSqGSIb3DQEJARYVc3RldmVfYmFnd2VsbEBzaWwub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx5mZNwjEnakJho+5etuFyx+2g9rs96iLX/LDC24aBAsdNxTNuIc1jJ7pxBxGrepEND4LkietLNBlOr1q50nq2+ddTrCfmoJB+9BqBOxcm9qWeqWbp8/arUjaxPzK3DfZrxJxIVFjzqFF7gI91y9yvEW/fqLRMhvnH1ns+N1ne59zr1y6h9mmHfBffGr1YXAfyEAuV1ich4AfTfjqhdwFwxhFLLCVnxA0bDbNw/0eGCSiA13N7a013xTurLeJu0AQaZYssMqvc/17UphH4gWDMEZAwy0EfRSBOsDOYCxeNxVajnWX1834VDpBDfpnZj996Gh8tzRQxQgT9/plHKhGiwIDAQABo1AwTjAdBgNVHQ4EFgQUApxlUQg26GrG3eH8lEG3SkqbH/swHwYDVR0jBBgwFoAUApxlUQg26GrG3eH8lEG3SkqbH/swDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEANhbm8WgIqBDlF7DIRVUbq04TEA9nOJG8wdjJYdoKrPX9f/E9slkFuD2StcK99RTcowa8Z2OmW7tksa+onyH611Lq21QXh4aHzQUAm2HbsmPQRZnkByeYoCJ/1tuEho+x+VGanaUICSBVWYiebAQVKHR6miFypRElibNBizm2nqp6Q9B87V8COzyDVngR1DlWDduxYaNOBgvht3Rk9Y2pVHqym42dIfN+pprcsB1PGBkY/BngIuS/aqTENbmoC737vcb06e8uzBsbCpHtqUBjPpL2psQZVJ2Y84JmHafC3B7nFQrjdZBbc9eMHfPo240Rh+pDLwxdxPqRAZdeLaUkCQ==',
24+
],
25+
'http://ssp-idp4.local:8088'=> [
26+
'enabled' => true,
27+
'metadata-set' => 'saml20-idp-remote',
28+
'entityid' => 'http://ssp-idp4.local:8088',
29+
'name' => [
30+
'en' => 'IdP 4'
31+
],
32+
'SingleSignOnService' => 'http://ssp-idp4.local:8088/saml2/idp/SSOService.php',
33+
'SingleLogoutService' => 'http://ssp-idp4.local:8088/saml2/idp/SingleLogoutService.php',
34+
'certData' => 'MIIDzzCCAregAwIBAgIJALBaUrvz1X5DMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJOQzEPMA0GA1UEBwwGV2F4aGF3MQwwCgYDVQQKDANTSUwxDTALBgNVBAsMBEdUSVMxDjAMBgNVBAMMBVN0ZXZlMSQwIgYJKoZIhvcNAQkBFhVzdGV2ZV9iYWd3ZWxsQHNpbC5vcmcwHhcNMTYxMDE4MTQwMDUxWhcNMjYxMDE4MTQwMDUxWjB+MQswCQYDVQQGEwJVUzELMAkGA1UECAwCTkMxDzANBgNVBAcMBldheGhhdzEMMAoGA1UECgwDU0lMMQ0wCwYDVQQLDARHVElTMQ4wDAYDVQQDDAVTdGV2ZTEkMCIGCSqGSIb3DQEJARYVc3RldmVfYmFnd2VsbEBzaWwub3JnMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAx5mZNwjEnakJho+5etuFyx+2g9rs96iLX/LDC24aBAsdNxTNuIc1jJ7pxBxGrepEND4LkietLNBlOr1q50nq2+ddTrCfmoJB+9BqBOxcm9qWeqWbp8/arUjaxPzK3DfZrxJxIVFjzqFF7gI91y9yvEW/fqLRMhvnH1ns+N1ne59zr1y6h9mmHfBffGr1YXAfyEAuV1ich4AfTfjqhdwFwxhFLLCVnxA0bDbNw/0eGCSiA13N7a013xTurLeJu0AQaZYssMqvc/17UphH4gWDMEZAwy0EfRSBOsDOYCxeNxVajnWX1834VDpBDfpnZj996Gh8tzRQxQgT9/plHKhGiwIDAQABo1AwTjAdBgNVHQ4EFgQUApxlUQg26GrG3eH8lEG3SkqbH/swHwYDVR0jBBgwFoAUApxlUQg26GrG3eH8lEG3SkqbH/swDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEANhbm8WgIqBDlF7DIRVUbq04TEA9nOJG8wdjJYdoKrPX9f/E9slkFuD2StcK99RTcowa8Z2OmW7tksa+onyH611Lq21QXh4aHzQUAm2HbsmPQRZnkByeYoCJ/1tuEho+x+VGanaUICSBVWYiebAQVKHR6miFypRElibNBizm2nqp6Q9B87V8COzyDVngR1DlWDduxYaNOBgvht3Rk9Y2pVHqym42dIfN+pprcsB1PGBkY/BngIuS/aqTENbmoC737vcb06e8uzBsbCpHtqUBjPpL2psQZVJ2Y84JmHafC3B7nFQrjdZBbc9eMHfPo240Rh+pDLwxdxPqRAZdeLaUkCQ==',
35+
],
36+
'jaars-idp'=> [
37+
'enabled' => true,
38+
'metadata-set' => 'saml20-idp-remote',
39+
'entityid' => 'jaars-idp',
40+
'name' => [
41+
'en' => 'jaars'
42+
],
43+
'logoURL' => 'https://static.gtis.guru/idp-logo/jaars-logo.png'
44+
],
45+
'sil-idp'=> [
46+
'enabled' => true,
47+
'metadata-set' => 'saml20-idp-remote',
48+
'entityid' => 'sil-idp',
49+
'name' => [
50+
'en' => 'sil'
51+
],
52+
'logoURL' => 'https://static.gtis.guru/idp-logo/sil-logo.png'
53+
],
54+
'usa-idp'=> [
55+
'enabled' => true,
56+
'metadata-set' => 'saml20-idp-remote',
57+
'entityid' => 'usa-idp',
58+
'name' => [
59+
'en' => 'usa'
60+
],
61+
'logoURL' => 'https://static.gtis.guru/idp-logo/usa-logo.png'
62+
],
63+
'wga-idp'=> [
64+
'enabled' => true,
65+
'metadata-set' => 'saml20-idp-remote',
66+
'entityid' => 'wga-idp',
67+
'name' => [
68+
'en' => 'wga'
69+
],
70+
'logoURL' => 'https://static.gtis.guru/idp-logo/wga-logo.png'
71+
],
72+
'collaborate-idp'=> [
73+
'enabled' => true,
74+
'metadata-set' => 'saml20-idp-remote',
75+
'entityid' => 'collaborate-idp',
76+
'name' => [
77+
'en' => 'collaborate'
78+
],
79+
'logoURL' => 'https://static.gtis.guru/idp-logo/collaborate-logo.png'
80+
],
81+
'mock-jaars-idp'=> [
82+
'enabled' => false,
83+
'metadata-set' => 'saml20-idp-remote',
84+
'entityid' => 'mock-jaars-idp',
85+
'name' => [
86+
'en' => 'jaars'
87+
],
88+
'logoURL' => 'https://static.gtis.guru/idp-logo/jaars-logo.png'
89+
],
90+
'mock-sil-idp'=> [
91+
'enabled' => false,
92+
'metadata-set' => 'saml20-idp-remote',
93+
'entityid' => 'mock-sil-idp',
94+
'name' => [
95+
'en' => 'sil'
96+
],
97+
'logoURL' => 'https://static.gtis.guru/idp-logo/sil-logo.png'
98+
],
99+
'mock-usa-idp'=> [
100+
'enabled' => false,
101+
'metadata-set' => 'saml20-idp-remote',
102+
'entityid' => 'mock-usa-idp',
103+
'name' => [
104+
'en' => 'usa'
105+
],
106+
'logoURL' => 'https://static.gtis.guru/idp-logo/usa-logo.png'
107+
],
108+
'mock-wga-idp'=> [
109+
'enabled' => false,
110+
'metadata-set' => 'saml20-idp-remote',
111+
'entityid' => 'mock-wga-idp',
112+
'name' => [
113+
'en' => 'wga'
114+
],
115+
'logoURL' => 'https://static.gtis.guru/idp-logo/wga-logo.png'
116+
],
117+
];

development/hub/saml20-idp-remote.php

Lines changed: 0 additions & 115 deletions
This file was deleted.

development/hub/sp-remote.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
return [
3+
'ssp-sp.local' => [
4+
'AssertionConsumerService' => 'http://ssp-sp.local:8082/module.php/saml/sp/saml2-acs.php/hub-discovery',
5+
'SingleLogoutService' => 'http://ssp-sp.local:8082/module.php/saml/sp/saml2-logout.php/hub-discovery',
6+
'name' => 'Local SP'
7+
]
8+
];

development/sp/authsources.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
$config = [
3+
'admin' => [
4+
'core:AdminPassword',
5+
],
6+
'hub-discovery' => [
7+
'saml:SP',
8+
'entityID' => 'ssp-sp.local',
9+
'idp' => 'ssp-hub.local',
10+
],
11+
];
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?php
2+
$metadata['ssp-hub.local'] = [
3+
'enabled' => true,
4+
'metadata-set' => 'saml20-idp-remote',
5+
'entityid' => 'ssp-hub.local',
6+
'SingleSignOnService' => 'http://ssp-hub.local/saml2/idp/SSOService.php',
7+
'SingleLogoutService' => 'http://ssp-hub.local/saml2/idp/SingleLogoutService.php'
8+
];

dictionaries/selectidp.definition.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
21
{
32
"title": {
43
"en": "Choose an identity account",
@@ -12,6 +11,12 @@
1211
"fr": "Choisissez un compte d'identité",
1312
"ko": "ID 계정 선택"
1413
},
14+
"header-for-sp": {
15+
"en": "Choose an identity account to continue to {spName}",
16+
"es": "Elija una cuenta de identidad para continuar en {spName}",
17+
"fr": "Choisissez un compte d'identité pour continuer vers {spName}",
18+
"ko": "{spName}을 계속 진행하려면 신원 계정을 선택하십시오."
19+
},
1520
"enabled": {
1621
"en": "Login with your {idpName} identity account",
1722
"es": "Inicie sesión con su cuenta de identidad {idpName}",

docker-compose.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ services:
55
image: silintl/ssp-base:develop
66
volumes:
77
- ./development/hub/authsources.php:/data/vendor/simplesamlphp/simplesamlphp/config/authsources.php
8-
- ./development/hub/saml20-idp-remote.php:/data/vendor/simplesamlphp/simplesamlphp/metadata/saml20-idp-remote.php
8+
- ./development/hub/idp-remote.php:/data/vendor/simplesamlphp/simplesamlphp/metadata/idp-remote.php
99
- ./development/hub/saml20-idp-hosted.php:/data/vendor/simplesamlphp/simplesamlphp/metadata/saml20-idp-hosted.php
10+
- ./development/hub/sp-remote.php:/data/vendor/simplesamlphp/simplesamlphp/metadata/sp-remote.php
1011
- ./www/default-favicon.ico:/data/vendor/simplesamlphp/simplesamlphp/www/favicon.ico
1112
- ./www/default-favicon.png:/data/vendor/simplesamlphp/simplesamlphp/www/favicon.png
1213
- ./www/default-logo.png:/data/vendor/simplesamlphp/simplesamlphp/www/logo.png
@@ -238,3 +239,23 @@ services:
238239
SECRET_SALT: "xbcCMIHHzsgE8yYC6OIBjsp+ruZYghHn1k5Bv/IGbrg="
239240
IDP_NAME: "idp-3"
240241
IDP_DISPLAY_NAME: "Idp 3"
242+
243+
sp:
244+
image: silintl/ssp-base:develop
245+
volumes:
246+
- ./development/sp/authsources.php:/data/vendor/simplesamlphp/simplesamlphp/config/authsources.php
247+
- ./development/sp/saml20-idp-remote.php:/data/vendor/simplesamlphp/simplesamlphp/metadata/saml20-idp-remote.php
248+
ports:
249+
- "8082:80"
250+
env_file:
251+
- local.env
252+
environment:
253+
ADMIN_PASS: "a"
254+
SECURE_COOKIE: "false"
255+
SHOW_SAML_ERRORS: "true"
256+
ADMIN_PROTECT_INDEX_PAGE: "false"
257+
THEME_USE: "material:material"
258+
ADMIN_EMAIL: "admin1@example.org"
259+
SECRET_SALT: "xbcCMIHHzsgE8yYC6OIBjsp+ruZYghHn1k5Bv/IGbrg="
260+
IDP_NAME: "sp"
261+
IDP_DISPLAY_NAME: "sp"

themes/material/default/selectidp-links.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,14 @@ function clickedAnyway(idpName) {
2929
<header class="mdl-layout__header">
3030
<div class="mdl-layout__header-row">
3131
<span class="mdl-layout-title">
32-
<?= $this->t('{material:selectidp:header}') ?>
32+
<?php
33+
$spName = $this->data['spName'] ?? null;
34+
if (empty($spName)) {
35+
echo $this->t('{material:selectidp:header}');
36+
} else {
37+
echo htmlentities($this->t('{material:selectidp:header-for-sp}', ['{spName}' => $spName]));
38+
}
39+
?>
3340
</span>
3441
</div>
3542
</header>

0 commit comments

Comments
 (0)