Id Stores from db

This commit is contained in:
Paul Schneider 2025-08-24 16:07:53 +01:00
commit 03161bbfb6
23 changed files with 2932 additions and 231 deletions

View file

@ -11,54 +11,62 @@
<h4>Client</h4>
<hr />
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="ClientId" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ClientId" class="form-control" />
<span asp-validation-for="ClientId" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
<input asp-for="Active" />
<label asp-for="Active"></label>
<input asp-for="Enabled" />
<label asp-for="Enabled"></label>
</div>
</div>
</div>
<div class="form-group">
<label asp-for="DisplayName" class="col-md-2 control-label"></label>
<label asp-for="ClientName" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="DisplayName" class="form-control" />
<span asp-validation-for="DisplayName" class="text-danger" ></span>
<input asp-for="ClientName" class="form-control" />
<span asp-validation-for="ClientName" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="LogoutRedirectUri" class="col-md-2 control-label"></label>
<label asp-for="FrontChannelLogoutUri" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LogoutRedirectUri" class="form-control"></span>
<span asp-validation-for="LogoutRedirectUri" class="text-danger" ></span>
<input asp-for="FrontChannelLogoutUri" class="form-control"></span>
<span asp-validation-for="FrontChannelLogoutUri" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="RedirectUri" class="col-md-2 control-label"></label>
<label asp-for="RedirectUris" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="RedirectUri" class="form-control" />
<span asp-validation-for="RedirectUri" class="text-danger" ></span>
<input asp-for="RedirectUris" class="form-control" />
<span asp-validation-for="RedirectUris" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="RefreshTokenLifeTime" class="col-md-2 control-label"></label>
<label asp-for="AbsoluteRefreshTokenLifetime" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="RefreshTokenLifeTime" class="form-control" ></span>
<span asp-validation-for="RefreshTokenLifeTime" class="text-danger"></span>
<input asp-for="AbsoluteRefreshTokenLifetime" class="form-control" ></span>
<span asp-validation-for="AbsoluteRefreshTokenLifetime" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Secret" class="col-md-2 control-label"></label>
<label asp-for="ClientSecrets" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Secret" class="form-control" />
<span asp-validation-for="Secret" class="text-danger" ></span>
<input asp-for="ClientSecrets" class="form-control" />
<span asp-validation-for="ClientSecrets" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="Type" class="col-md-2 control-label"></label>
<label asp-for="AccessTokenType" class="col-md-2 control-label"></label>
<div class="col-md-10">
@Html.DropDownList("Type")
<span asp-validation-for="Type" class="text-danger"></span>
@Html.DropDownList("AccessTokenType")
<span asp-validation-for="AccessTokenType" class="text-danger"></span>
</div>
</div>
<div class="form-group">

View file

@ -12,46 +12,52 @@
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Active)
@Html.DisplayNameFor(model => model.ClientId)
</dt>
<dt>
@Html.DisplayNameFor(model => model.ClientId)
</dt>
<dt>
@Html.DisplayNameFor(model => model.Enabled)
</dt>
<dt>
@Html.DisplayNameFor(model => model.Enabled)
</dt>
<dt>
@Html.DisplayNameFor(model => model.ClientName)
</dt>
<dd>
@Html.DisplayFor(model => model.Active)
@Html.DisplayFor(model => model.ClientName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.DisplayName)
@Html.DisplayNameFor(model => model.FrontChannelLogoutUri)
</dt>
<dd>
@Html.DisplayFor(model => model.DisplayName)
@Html.DisplayFor(model => model.FrontChannelLogoutUri)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LogoutRedirectUri)
@Html.DisplayNameFor(model => model.RedirectUris)
</dt>
<dd>
@Html.DisplayFor(model => model.LogoutRedirectUri)
@Html.DisplayFor(model => model.RedirectUris)
</dd>
<dt>
@Html.DisplayNameFor(model => model.RedirectUri)
@Html.DisplayNameFor(model => model.AbsoluteRefreshTokenLifetime)
</dt>
<dd>
@Html.DisplayFor(model => model.RedirectUri)
@Html.DisplayFor(model => model.AbsoluteRefreshTokenLifetime)
</dd>
<dt>
@Html.DisplayNameFor(model => model.RefreshTokenLifeTime)
@Html.DisplayNameFor(model => model.ClientSecrets)
</dt>
<dd>
@Html.DisplayFor(model => model.RefreshTokenLifeTime)
@Html.DisplayFor(model => model.ClientSecrets)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Secret)
@Html.DisplayNameFor(model => model.AccessTokenType)
</dt>
<dd>
@Html.DisplayFor(model => model.Secret)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Type)
</dt>
<dd>
@Html.DisplayFor(model => model.Type)
@Html.DisplayFor(model => model.AccessTokenType)
</dd>
</dl>

View file

@ -11,52 +11,54 @@
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Id)
@Html.DisplayNameFor(model => model.ClientId)
</dt>
<dd>
@Html.DisplayFor(model => model.Id)
@Html.DisplayFor(model => model.ClientId)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Active)
@Html.DisplayNameFor(model => model.Enabled)
</dt>
<dd>
@Html.DisplayFor(model => model.Active)
@Html.DisplayFor(model => model.Enabled)
</dd>
<dt>
@Html.DisplayNameFor(model => model.DisplayName)
@Html.DisplayNameFor(model => model.ClientName)
</dt>
<dd>
@Html.DisplayFor(model => model.DisplayName)
@Html.DisplayFor(model => model.ClientName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.LogoutRedirectUri)
@Html.DisplayNameFor(model => model.FrontChannelLogoutUri)
</dt>
<dd>
@Html.DisplayFor(model => model.LogoutRedirectUri)
@Html.DisplayFor(model => model.FrontChannelLogoutUri)
</dd>
<dt>
@Html.DisplayNameFor(model => model.RedirectUri)
@Html.DisplayNameFor(model => model.RedirectUris)
</dt>
<dd>
@Html.DisplayFor(model => model.RedirectUri)
<ul>
@foreach (var uri in Model.RedirectUris)
{ <li>@uri.RedirectUri</li> }
</ul>
</dd>
<dt>
@Html.DisplayNameFor(model => model.RefreshTokenLifeTime)
@Html.DisplayNameFor(model => model.AbsoluteRefreshTokenLifetime)
</dt>
<dd>
@Html.DisplayFor(model => model.RefreshTokenLifeTime)
@Html.DisplayFor(model => model.AbsoluteRefreshTokenLifetime)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Secret)
@Html.DisplayNameFor(model => model.ClientSecrets)
</dt>
<dd>
@Html.DisplayFor(model => model.Secret)
</dd>
<dd>Count : @Model.ClientSecrets.Count</dd>
<dt>
@Html.DisplayNameFor(model => model.Type)
@Html.DisplayNameFor(model => model.AccessTokenType)
</dt>
<dd>
@Html.DisplayFor(model => model.Type)
@Html.DisplayFor(model => model.AccessTokenType)
</dd>
</dl>
</div>

View file

@ -11,55 +11,62 @@
<h4>Client</h4>
<hr />
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="Id" />
<input type="hidden" asp-for="ClientId" />
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
<input asp-for="Active" />
<label asp-for="Active"></label>
<input asp-for="Enabled" />
<label asp-for="Enabled"></label>
</div>
</div>
</div>
<div class="form-group">
<label asp-for="DisplayName" class="col-md-2 control-label"></label>
<label asp-for="ClientName" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="DisplayName" class="form-control" />
<span asp-validation-for="DisplayName" class="text-danger" ></span>
<input asp-for="ClientName" class="form-control" />
<span asp-validation-for="ClientName" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="LogoutRedirectUri" class="col-md-2 control-label"></label>
<label asp-for="FrontChannelLogoutUri" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="LogoutRedirectUri" class="form-control" />
<span asp-validation-for="LogoutRedirectUri" class="text-danger" ></span>
<input asp-for="FrontChannelLogoutUri" class="form-control" />
<span asp-validation-for="FrontChannelLogoutUri" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="RedirectUri" class="col-md-2 control-label"></label>
<label asp-for="RedirectUris" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="RedirectUri" class="form-control" />
<span asp-validation-for="RedirectUri" class="text-danger" ></span>
<input asp-for="RedirectUris" class="form-control" />
<span asp-validation-for="RedirectUris" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="RefreshTokenLifeTime" class="col-md-2 control-label"></label>
<label asp-for="IdentityTokenLifetime" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="RefreshTokenLifeTime" class="form-control" />
<span asp-validation-for="RefreshTokenLifeTime" class="text-danger" ></span>
<input asp-for="IdentityTokenLifetime" class="form-control" />
<span asp-validation-for="IdentityTokenLifetime" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="Secret" class="col-md-2 control-label"></label>
<label asp-for="AbsoluteRefreshTokenLifetime" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Secret" class="form-control" />
<span asp-validation-for="Secret" class="text-danger" ></span>
<input asp-for="AbsoluteRefreshTokenLifetime" class="form-control" />
<span asp-validation-for="AbsoluteRefreshTokenLifetime" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="Type" class="col-md-2 control-label"></label>
<label asp-for="ClientSecrets" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ClientSecrets" class="form-control" />
<span asp-validation-for="ClientSecrets" class="text-danger" ></span>
</div>
</div>
<div class="form-group">
<label asp-for="AccessTokenType" class="col-md-2 control-label"></label>
<div class="col-md-10">
@Html.DropDownList("Type")
<span asp-validation-for="Type" class="text-danger" ></span>
<span asp-validation-for="AccessTokenType" class="text-danger" ></span>
</div>
</div>
<div class="form-group">

View file

@ -1,4 +1,5 @@
@model IEnumerable<Client>
@using IdentityServer8.Models
@model IEnumerable<IdentityServer8.EntityFramework.Entities.Client>
@{
ViewData["Title"] = @SR["Index"];
@ -12,25 +13,28 @@
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Active)
@Html.DisplayNameFor(model => model.ClientId)
</th>
<th>
@Html.DisplayNameFor(model => model.DisplayName)
@Html.DisplayNameFor(model => model.Enabled)
</th>
<th>
@Html.DisplayNameFor(model => model.LogoutRedirectUri)
@Html.DisplayNameFor(model => model.ClientName)
</th>
<th>
@Html.DisplayNameFor(model => model.RedirectUri)
@Html.DisplayNameFor(model => model.FrontChannelLogoutUri)
</th>
<th>
@Html.DisplayNameFor(model => model.RefreshTokenLifeTime)
@Html.DisplayNameFor(model => model.RedirectUris)
</th>
<th>
@Html.DisplayNameFor(model => model.Secret)
@Html.DisplayNameFor(model => model.AbsoluteRefreshTokenLifetime)
</th>
<th>
@Html.DisplayNameFor(model => model.Type)
@Html.DisplayNameFor(model => model.AllowedGrantTypes)
</th>
<th>
@Html.DisplayNameFor(model => model.AccessTokenType)
</th>
<th></th>
</tr>
@ -38,30 +42,39 @@
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Active)
@Html.DisplayFor(modelItem => item.ClientId)
</td>
<td>
@Html.DisplayFor(modelItem => item.DisplayName)
@Html.DisplayFor(modelItem => item.Enabled)
</td>
<td>
@Html.DisplayFor(modelItem => item.LogoutRedirectUri)
@Html.DisplayFor(modelItem => item.ClientName)
</td>
<td>
@Html.DisplayFor(modelItem => item.RedirectUri)
@Html.DisplayFor(modelItem => item.FrontChannelLogoutUri)
</td>
<td>
@Html.DisplayFor(modelItem => item.RefreshTokenLifeTime)
<ul>
@foreach (var uri in item.RedirectUris)
{ <li>@uri.RedirectUri</li> }
</ul>
</td>
<td>
@Html.DisplayFor(modelItem => item.Secret)
@Html.DisplayFor(modelItem => item.AbsoluteRefreshTokenLifetime)
</td>
<td>
@Html.DisplayFor(modelItem => item.Type)
<ul>
@foreach (var t in item.AllowedGrantTypes)
{ <li>@t.GrantType</li> }
</ul>
</td>
<td>
<a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
<a asp-action="Details" asp-route-id="@item.Id">Details</a> |
<a asp-action="Delete" asp-route-id="@item.Id">Delete</a>
@Enum.GetName(typeof(AccessTokenType), item.AccessTokenType)
</td>
<td>
<a asp-action="Edit" asp-route-id="@item.ClientId">Edit</a> |
<a asp-action="Details" asp-route-id="@item.ClientId">Details</a> |
<a asp-action="Delete" asp-route-id="@item.ClientId">Delete</a>
</td>
</tr>
}