You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
abp/modules/account/src/Volo.Abp.Account.Web.Identi.../Pages/Consent.cshtml

128 lines
5.5 KiB

@page
@using Volo.Abp.Account.Web.Pages
@model ConsentModel
<abp-card id="IdentityServerConsentWrapper">
<abp-card-header>
<div class="row">
<div class="col-md-12">
<h2>
@if (Model.Consent.ClientLogoUrl != null)
{
<img src="@Model.Consent.ClientLogoUrl">
}
@Model.Consent.ClientName
<small>is requesting your permission</small>
</h2>
</div>
</div>
</abp-card-header>
<abp-card-body>
<form method="post" asp-page="/Consent">
<input type="hidden" asp-for="ReturnUrl" />
<input type="hidden" asp-for="ReturnUrlHash" />
<div>Uncheck the permissions you do not wish to grant.</div>
@if (!Model.Consent.IdentityScopes.IsNullOrEmpty())
{
<h3>Personal Information</h3>
<ul class="list-group">
@for (var i = 0; i < Model.Consent.IdentityScopes.Count; i++)
{
<li class="list-group-item">
<div class="form-check">
<label asp-for="@Model.Consent.IdentityScopes[i].Checked" class="form-check-label">
<input asp-for="@Model.Consent.IdentityScopes[i].Checked" class="form-check-input" />
@Model.Consent.IdentityScopes[i].DisplayName
@if (Model.Consent.IdentityScopes[i].Required)
{
<span><em>(required)</em></span>
}
</label>
</div>
<input asp-for="@Model.Consent.IdentityScopes[i].Value" type="hidden" /> @* TODO: Use attributes on the view model instead of using hidden here *@
@if (Model.Consent.IdentityScopes[i].Description != null)
{
<div class="consent-description">
@Model.Consent.IdentityScopes[i].Description
</div>
}
</li>
}
</ul>
}
@if (!Model.Consent.ApiScopes.IsNullOrEmpty())
{
<h3>Application Access</h3>
<ul class="list-group">
@for (var i = 0; i < Model.Consent.ApiScopes.Count; i++)
{
<li class="list-group-item">
<div class="form-check">
<label asp-for="@Model.Consent.ApiScopes[i].Checked" class="form-check-label">
<input asp-for="@Model.Consent.ApiScopes[i].Checked" class="form-check-input" disabled="@Model.Consent.ApiScopes[i].Required" />
@Model.Consent.ApiScopes[i].DisplayName
@if (Model.Consent.ApiScopes[i].Required)
{
<span><em>(required)</em></span>
}
</label>
</div>
<input asp-for="@Model.Consent.ApiScopes[i].Value" type="hidden" /> @* TODO: Use attributes on the view model instead of using hidden here *@
@if (Model.Consent.ApiScopes[i].Description != null)
{
<div class="consent-description">
@Model.Consent.ApiScopes[i].Description
</div>
}
</li>
}
</ul>
}
<div class="form-group">
<div class="card">
<div class="card-header">
<span class="glyphicon glyphicon-tasks"></span>
Description
</div>
<div class="card-body">
<input class="form-control" placeholder="Description or name of device" asp-for="@Model.Consent.Description" autofocus>
</div>
</div>
</div>
@if (Model.Consent.AllowRememberConsent)
{
<div class="form-check">
<label asp-for="@Model.Consent.RememberConsent" class="form-check-label">
<input asp-for="@Model.Consent.RememberConsent" class="form-check-input" />
<strong>Remember My Decision</strong>
</label>
</div>
}
<div>
<button name="Consent.Button" value="yes" class="btn btn-primary" autofocus>Yes, Allow</button>
<button name="Consent.Button" value="no" class="btn">No, Do Not Allow</button>
@if (Model.Consent.ClientUrl != null)
{
<a class="pull-right btn btn-secondary" target="_blank" href="@Model.Consent.ClientUrl">
<strong>@Model.Consent.ClientName</strong>
</a>
}
</div>
<div asp-validation-summary="All" class="text-danger"></div>
</form>
</abp-card-body>
</abp-card>