Files
canine/app/views/accounts/sso_providers/show.html.erb
2025-12-12 16:19:44 -08:00

90 lines
4.2 KiB
Plaintext

<%= settings_layout do %>
<h2 class="text-2xl font-bold">Authentication</h2>
<hr class="mt-3 mb-4 border-t border-base-300" />
<%= turbo_frame_tag "sso_provider" do %>
<% if @sso_provider.present? %>
<div class="card bg-base-200 mb-4">
<div class="card-body">
<div class="flex justify-between items-start">
<div>
<h3 class="text-lg font-semibold"><%= @sso_provider.name %></h3>
<div class="flex gap-2 mt-2">
<% if @sso_provider.ldap? %>
<span class="badge badge-outline">LDAP</span>
<% elsif @sso_provider.oidc? %>
<span class="badge badge-outline">OIDC</span>
<% end %>
<% if @sso_provider.enabled %>
<span class="badge badge-success">Enabled</span>
<% else %>
<span class="badge badge-ghost">Disabled</span>
<% end %>
<span class="badge badge-info"><%= @sso_provider.sso_users_count %> <%= "user".pluralize(@sso_provider.sso_users_count) %></span>
</div>
</div>
<div class="flex gap-2">
<%= link_to "Edit", edit_sso_provider_path, class: "btn btn-sm btn-outline" %>
<%= button_to "Delete", sso_provider_path, method: :delete, class: "btn btn-sm btn-error", data: { turbo_confirm: "Are you sure you want to delete this SSO provider?" } %>
</div>
</div>
<% if @configuration %>
<div class="divider"></div>
<% if @sso_provider.ldap? %>
<div class="grid grid-cols-2 gap-4">
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">Host</div>
<div class="font-mono"><%= @configuration.host %>:<%= @configuration.port %></div>
</div>
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">Base DN</div>
<div class="font-mono"><%= @configuration.base_dn %></div>
</div>
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">UID Attribute</div>
<div class="font-mono"><%= @configuration.uid_attribute %></div>
</div>
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">Encryption</div>
<div class="font-mono"><%= @configuration.encryption.titleize %></div>
</div>
</div>
<% elsif @sso_provider.oidc? %>
<%= render "accounts/sso_providers/oidc/redirect_uri_info" %>
<div class="grid grid-cols-2 gap-4">
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">Issuer</div>
<div class="font-mono text-sm break-all"><%= @configuration.issuer %></div>
</div>
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">Client ID</div>
<div class="font-mono text-sm"><%= @configuration.client_id %></div>
</div>
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">Scopes</div>
<div class="font-mono text-sm"><%= @configuration.scopes %></div>
</div>
<div>
<div class="text-sm font-medium text-base-content/70 mb-1">UID Claim</div>
<div class="font-mono text-sm"><%= @configuration.uid_claim %></div>
</div>
</div>
<% end %>
<% end %>
</div>
</div>
<% else %>
<div class="alert mb-4">
<iconify-icon icon="lucide:info" class="mr-2"></iconify-icon>
<span>No SSO provider configured for this account.</span>
</div>
<div class="flex gap-2">
<%= link_to "+ Add LDAP Provider", new_sso_provider_path(provider_type: "ldap"), class: "btn btn-primary btn-sm" %>
<%= link_to "+ Add OIDC Provider", new_sso_provider_path(provider_type: "oidc"), class: "btn btn-primary btn-sm" %>
</div>
<% end %>
<% end %>
<% end %>