@model List<AuthApplicationModel>
@{
ViewBag.Title = "Token管理";
Layout = "_AdminLayout";
}
<div class="page-header mb-3">
<h1 class="mb-1">令牌管理</h1>
<p class="text-body-secondary">查看、搜索并撤销访问令牌</p>
@if (TempData["message"] is string message)
{
<div class="alert alert-danger mt-2" role="alert">@message</div>
}
<div class="row g-2 mt-2">
<div class="col-12 col-md">
<div class="input-group">
<span class="input-group-text">用户</span>
<input id="userFilter" class="form-control" type="search" placeholder="按用户/Subject 搜索"
autocomplete="off"/>
</div>
</div>
<div class="col-12 col-md">
<div class="input-group">
<span class="input-group-text">客户端</span>
<select id="clientFilter" class="form-select" placeholder="按客户端 ClientId 搜索"
autocomplete="off">
<option value=""></option>
@foreach (var item in Model.OrderBy(x => x.DisplayName))
{
<option value="@item.Id">@item.DisplayName</option>
}
</select>
</div>
</div>
<div class="col-12 col-md-auto d-flex gap-2 justify-content-md-end">
<button id="btnSearch" class="btn btn-primary" type="button">搜索</button>
<button id="btnClear" class="btn btn-secondary" type="button">清空</button>
<button class="btn btn-danger" type="button" id="btnRevokeByUser">按用户撤销</button>
<button class="btn btn-danger" type="button" id="btnRevokeByClient">按客户端撤销</button>
</div>
</div>
</div>
<div class="table-wrapper">
<table
class="table table-hover align-middle layui-table" id="tokenTable">
</table>
</div>
@section Scripts {
<script src="~/js/token.js" asp-append-version="true"></script>
}