app/views/service_providers/show.html.erb
<%= link_to 'Back to apps', '/service_providers', :class => 'usa-link' %>
<h1 class="usa-display">Details for "<%= service_provider.friendly_name %>"</h1>
<% if service_provider.prod_config? %>
<%= render partial: 'prod_config_call_to_action' %>
<% end %>
<h2 class="margin-bottom-0">
<label for="identity_protocol">Dashboard Configuration:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.prod_config ? 'Production' : 'Sandbox' %></span>
</h2>
<hr>
<h2 class="margin-bottom-0">
<label for="name">App name: </label>
<span class="font-mono-xs margin-left-5"><%= service_provider.app_name %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.app_name_html') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="name">Friendly name:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.friendly_name %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.friendly_name_html') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="description">Description:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.description %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.description') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="agency">Agency:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider&.agency&.name %></span>
</h2>
<hr>
<% if service_provider.team.present? %>
<h2 class="margin-bottom-0">
<label for="team">Team:</label>
<span class="font-mono-xs margin-left-5"><%= link_to service_provider.team, service_provider.team %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.team') %></p>
<% end %>
<hr>
<h2 class="margin-bottom-0">
<label for="identity_protocol">Identity Protocol:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.identity_protocol %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.protocol') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="ial_friendly">Level of Service:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.ial_friendly %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.identity_assurance_level_html') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="aal_friendly">Default Authentication Assurance Level (AAL):</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.aal_friendly %></span>
</h2>
<hr>
<h2 class="margin-bottom-0">
<label for="issuer">Issuer:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.issuer %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.change_issuer') %></p>
<p class="text-italic"><%= t('service_provider_form.issuer_html') %></p>
<hr>
<% if current_user.admin? %>
<%= render partial: 'allow_prompt_login', locals: { service_provider: service_provider } %>
<hr>
<%= render partial: 'email_nameid_format_allowed', locals: { service_provider: service_provider } %>
<hr>
<% elsif service_provider.allow_prompt_login? %>
<%= render partial: 'allow_prompt_login', locals: { service_provider: service_provider } %>
<hr>
<% end %>
<h2 class="margin-bottom-0"><label for="logo_file">Uploaded Logo:</label></h2>
<% if service_provider.logo_file.attached? %>
<p class="font-mono-xs margin-top-0 margin-left-5" name="logo_file">
<%= image_tag url_for(service_provider.logo_file), height: "120px" %>
</p>
<% else %>
<p class="font-mono-xs margin-top-0 margin-left-5" name="logo_file">
No file Uploaded
</p>
<% end %>
<hr>
<% if service_provider.identity_protocol == 'saml' %>
<h2 class="margin-bottom-0">
<label for="acs_url">Assertion Consumer Service URL:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.acs_url %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.assertion_consumer_service_url_html') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="assertion_consumer_logout_service_url">Assertion Consumer Logout Service URL:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.assertion_consumer_logout_service_url %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.assertion_consumer_logout_service_url_html') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="assertion_consumer_logout_service_url">SP Initiated Login URL:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.sp_initiated_login_url %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.sp_initiated_login_url_html') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="block_encryption">SAML Assertion Encryption:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.block_encryption %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.saml_assertion_encryption') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="signed_response_message_requested">Signed Response Message Requested:</label>
<span class="font-mono-xs margin-left-5"><%= service_provider.signed_response_message_requested? ? 'Yes' : 'No' %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.signed_response_requested') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="return_to_sp_url">Return to App URL: </label>
<span class="font-mono-xs margin-left-5"><%= service_provider.return_to_sp_url %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.return_to_app_url_html') %></p>
<hr>
<% end %>
<h2>
<label>Public certificates:</label>
</h2>
<% service_provider.certificates.each do |certificate| %>
<%= render partial: 'certificate', locals: { certificate: certificate } %>
<% end %>
<hr>
<h2 class="margin-bottom-0">
<label for="failure_to_proof_url">Failure to Proof URL: </label>
<span class="font-mono-xs margin-left-5"><%= service_provider.failure_to_proof_url %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.failure_to_proof_url') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="push_notification_url">Push Notification URL: </label>
<span class="font-mono-xs margin-left-5"><%= service_provider.push_notification_url %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.push_notification_url') %></p>
<hr>
<% if service_provider.oidc? %>
<h2 class="margin-bottom-0"><label for="uris">Redirect URIs:</label></h2>
<p class="text-italic"><%= t('service_provider_form.oidc_redirects_html') %></p>
<p class="font-mono-xs margin-top-0 margin-left-5" name="uris"><%= (service_provider.redirect_uris || []).sort.join('<br>').html_safe %></p>
<% else # SAML %>
<h2><label for="uris">Additional Redirect URIs:</label></h2>
<p class="text-italic"><%= t('service_provider_form.saml_redirects_html') %></p>
<p class="font-mono-xs margin-top-0 margin-left-5" name="uris"><%= (service_provider.redirect_uris || []).sort.join('<br>').html_safe %></p>
<% end %>
<hr>
<h2 class="margin-bottom-0">
<label for="attribute_bundle">Attribute bundle:</label>
<span class="font-mono-xs margin-left-5"><%= sp_attribute_bundle(service_provider) %></span>
</h2>
<p class="text-italic"><%= t('service_provider_form.attribute_bundle') %></p>
<hr>
<h2 class="margin-bottom-0">
<label for="active">Accessible:</label>
<span class="font-mono-xs"><%= service_provider.active? ? 'Yes' : 'No' %></span>
</h2>
<p class="text-italic"><%= I18n.t('service_provider_form.active') %></p>
<hr>
<% if current_user.admin? %>
<h2><label for="service_provider_yaml">Service Provider config as YAML</label></h2>
<%= render 'service_provider_yaml' %>
<% end %>
<%= button_to t('forms.buttons.edit_service_provider'),
edit_service_provider_path(service_provider),
class: 'usa-button float-left',
method: :get %>
<%= button_to t('forms.buttons.delete_service_provider'),
service_provider_path(service_provider),
class: 'usa-button usa-button--outline float-left',
method: :delete, data: { confirm: 'Are you sure you want to delete this app? This cannot be undone.' } %>
<% if current_user.admin? %>
<%= render 'components/version_history', versions: @service_provider_versions %>
<% end %>