diff --git a/modules/admin/lib/FederationController.php b/modules/admin/lib/FederationController.php index 26586b8502816ba5acc8bb1e1e7014d24ea61bed..506a413e0f119f27dd876f3c87c173820d728151 100644 --- a/modules/admin/lib/FederationController.php +++ b/modules/admin/lib/FederationController.php @@ -488,4 +488,25 @@ class FederationController return $response; } + + /** + * Show remote entity metadata + * + * @param Request $request The current request. + * + * @return Response + */ + public function showRemoteEntity(Request $request) + { + Utils\Auth::requireAdmin(); + + $entityId = $request->get('entityid'); + $set = $request->get('set'); + + $metadata = $this->mdHandler->getMetaData($entityId, $set); + + $t = new Template($this->config, 'admin:show_metadata.twig'); + $t->data['metadata'] = var_export($metadata, true); + return $t; + } } diff --git a/modules/admin/routes.yaml b/modules/admin/routes.yaml index ac07bacb1b40db2bef7b9b3c4ae7f0b07c5d3d57..34490c3f96e88236489c96e16185ffb0940b8d75 100644 --- a/modules/admin/routes.yaml +++ b/modules/admin/routes.yaml @@ -16,6 +16,9 @@ admin-fed: admin-fed-cert: path: /federation/cert defaults: { _controller: 'SimpleSAML\Module\admin\FederationController::downloadCert' } +admin-fed-show: + path: /federation/show + defaults: { _controller: 'SimpleSAML\Module\admin\FederationController::showRemoteEntity' } admin-fed-converter: path: /federation/metadata-converter defaults: { _controller: 'SimpleSAML\Module\admin\FederationController::metadataConverter' } diff --git a/modules/admin/templates/federation.twig b/modules/admin/templates/federation.twig index 44f6989911e176ab8f8b7f950637b545a6cf7a83..d9059ae761cc39b4e6eeeab39137a285607fc87f 100644 --- a/modules/admin/templates/federation.twig +++ b/modules/admin/templates/federation.twig @@ -105,18 +105,17 @@ <ul> {% for entityid, entity in set %} - <li><a href="{{ (metadata_url ~ '?entityid=' ~ entity.entityid ~ '&set=' ~ key) }}"> - {%- if entity.name_translated %} + <li><a href="federation/show{{ ('?entityid=' ~ (entity.entityid|url_encode) ~ '&set=' ~ key) }}"> + {%- if entity.name_translated -%} {{ entity.name_translated }} - {%- elseif entity.organizationdisplayname_translated %} + {%- elseif entity.organizationdisplayname_translated -%} {{ entity.organizationdisplayname_translated }} - {%- else %} + {%- else -%} {{ entity.entityid|escape('html') }} - {% endif -%} - + {%- endif -%} </a> {%- if entity.expire %} {%- if entity.expire < date().timestamp %} @@ -126,9 +125,8 @@ {%- set expiration = (entity.expire - date().timestamp) / 3600 %} ({% trans %}expires in {{ expiration }} hours{% endtrans %}) - {%- endif %} - {%- endif %} - + {%- endif -%} + {%- endif -%} </li> {% endfor %} </ul> @@ -144,7 +142,7 @@ {%- endfor %} </ul> - <form action="{{ metadata_url }}" method="get" class="pure-form"> + <form action="federation/show" method="get" class="pure-form"> <fieldset class="fancyfieldset"> <legend>{% trans %}Look up metadata for entity:{% endtrans %}</legend> <select name="set"> @@ -156,7 +154,7 @@ {%- endif %} </select> - <input type="text" name="entityid" placeholder="{% trans %}EntityID{% endtrans %}" /> + <input type="text" name="entityid" placeholder="{% trans %}EntityID{% endtrans %}"> <button class="pure-button pure-button-red" type="submit">{% trans %}Search{% endtrans %}</button> </fieldset> </form> diff --git a/modules/admin/templates/show_metadata.twig b/modules/admin/templates/show_metadata.twig new file mode 100644 index 0000000000000000000000000000000000000000..ca136e1d7d52e842886867b08702d926d9e9b17f --- /dev/null +++ b/modules/admin/templates/show_metadata.twig @@ -0,0 +1,18 @@ +{% set pagetile = 'SimpleSAMLphp Show Metadata'|trans %} +{% extends 'base.twig' %} +{% block content %} + + <h2>{{ 'Metadata' | trans }}</h2> + <div class="code-box hljs"> + <div class="pure-button-group top-right-corner"> + <a class="pure-button copy hljs" data-clipboard-target="#metadata" + title="{% trans %}Copy to clipboard{% endtrans %}"><span class="fa fa-copy"></span></a> + </div> + <div id="metadata" class="code-box-content php"> + {#- #}$metadata[{{ entityid }}] => {{ metadata|escape }};{# -#} + </div> + </div> + <div class="center"> + <a href="../federation" class="pure-button pure-button-red">{{ 'Back'|trans }}</a> + </div> +{% endblock content %}