Browse Source

- Fix docker-compose file for identity project (was not working)

- Fix a problem with a setting.
- Some css media queries in login and register for Xamarin
pull/49/merge
Carlos Cañizares Estévez 8 years ago
parent
commit
47fd95293e
25 changed files with 25 additions and 481 deletions
  1. +2
    -0
      src/Services/Identity/eShopOnContainers.Identity/Controllers/AccountController.cs
  2. +1
    -1
      src/Services/Identity/eShopOnContainers.Identity/Program.cs
  3. +0
    -10
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/ConfirmEmail.cshtml
  4. +0
    -35
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/ExternalLoginConfirmation.cshtml
  5. +0
    -8
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/ExternalLoginFailure.cshtml
  6. +0
    -31
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/ForgotPassword.cshtml
  7. +0
    -8
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/ForgotPasswordConfirmation.cshtml
  8. +0
    -8
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/Lockout.cshtml
  9. +1
    -1
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/LoggedOut.cshtml
  10. +1
    -1
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/Logout.cshtml
  11. +0
    -43
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/ResetPassword.cshtml
  12. +0
    -8
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/ResetPasswordConfirmation.cshtml
  13. +0
    -21
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/SendCode.cshtml
  14. +0
    -38
      src/Services/Identity/eShopOnContainers.Identity/Views/Account/VerifyCode.cshtml
  15. +1
    -1
      src/Services/Identity/eShopOnContainers.Identity/Views/Consent/Index.cshtml
  16. +0
    -27
      src/Services/Identity/eShopOnContainers.Identity/Views/Manage/AddPhoneNumber.cshtml
  17. +0
    -42
      src/Services/Identity/eShopOnContainers.Identity/Views/Manage/ChangePassword.cshtml
  18. +0
    -71
      src/Services/Identity/eShopOnContainers.Identity/Views/Manage/Index.cshtml
  19. +0
    -54
      src/Services/Identity/eShopOnContainers.Identity/Views/Manage/ManageLogins.cshtml
  20. +0
    -38
      src/Services/Identity/eShopOnContainers.Identity/Views/Manage/SetPassword.cshtml
  21. +0
    -30
      src/Services/Identity/eShopOnContainers.Identity/Views/Manage/VerifyPhoneNumber.cshtml
  22. +2
    -2
      src/Services/Identity/eShopOnContainers.Identity/Views/Shared/_Layout.cshtml
  23. +2
    -2
      src/Services/Identity/eShopOnContainers.Identity/docker-compose.yml
  24. +14
    -0
      src/Services/Identity/eShopOnContainers.Identity/wwwroot/css/site.css
  25. +1
    -1
      src/Services/Identity/eShopOnContainers.Identity/wwwroot/css/site.min.css

+ 2
- 0
src/Services/Identity/eShopOnContainers.Identity/Controllers/AccountController.cs View File

@ -70,6 +70,7 @@ namespace IdentityServer4.Quickstart.UI.Controllers
}
var vm = await BuildLoginViewModelAsync(returnUrl, context);
ViewData["ReturnUrl"] = returnUrl;
return View(vm);
}
@ -118,6 +119,7 @@ namespace IdentityServer4.Quickstart.UI.Controllers
// something went wrong, show form with error
var vm = await BuildLoginViewModelAsync(model);
ViewData["ReturnUrl"] = model.ReturnUrl;
return View(vm);
}


+ 1
- 1
src/Services/Identity/eShopOnContainers.Identity/Program.cs View File

@ -15,7 +15,7 @@ namespace eShopOnContainers.Identity
.UseKestrel()
.UseUrls("http://0.0.0.0:5105")
.UseContentRoot(Directory.GetCurrentDirectory())
//.UseIISIntegration()
.UseIISIntegration()
.UseStartup<Startup>()
.Build();


+ 0
- 10
src/Services/Identity/eShopOnContainers.Identity/Views/Account/ConfirmEmail.cshtml View File

@ -1,10 +0,0 @@
@{
ViewData["Title"] = "Confirm Email";
}
<h2>@ViewData["Title"].</h2>
<div>
<p>
Thank you for confirming your email. Please <a asp-controller="Account" asp-action="Login">Click here to Log in</a>.
</p>
</div>

+ 0
- 35
src/Services/Identity/eShopOnContainers.Identity/Views/Account/ExternalLoginConfirmation.cshtml View File

@ -1,35 +0,0 @@
@model ExternalLoginConfirmationViewModel
@{
ViewData["Title"] = "Register";
}
<h2>@ViewData["Title"].</h2>
<h3>Associate your @ViewData["LoginProvider"] account.</h3>
<form asp-controller="Account" asp-action="ExternalLoginConfirmation" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal">
<h4>Association Form</h4>
<hr />
<div asp-validation-summary="All" class="text-danger"></div>
<p class="text-info">
You've successfully authenticated with <strong>@ViewData["LoginProvider"]</strong>.
Please enter an email address for this site below and click the Register button to finish
logging in.
</p>
<div class="form-group">
<label asp-for="Email" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Register</button>
</div>
</div>
</form>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 0
- 8
src/Services/Identity/eShopOnContainers.Identity/Views/Account/ExternalLoginFailure.cshtml View File

@ -1,8 +0,0 @@
@{
ViewData["Title"] = "Login Failure";
}
<header>
<h2>@ViewData["Title"].</h2>
<p class="text-danger">Unsuccessful login with service.</p>
</header>

+ 0
- 31
src/Services/Identity/eShopOnContainers.Identity/Views/Account/ForgotPassword.cshtml View File

@ -1,31 +0,0 @@
@model ForgotPasswordViewModel
@{
ViewData["Title"] = "Forgot your password?";
}
<h2>@ViewData["Title"]</h2>
<p>
For more information on how to enable reset password please see this <a href="http://go.microsoft.com/fwlink/?LinkID=532713">article</a>.
</p>
@*<form asp-controller="Account" asp-action="ForgotPassword" method="post" class="form-horizontal">
<h4>Enter your email.</h4>
<hr />
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<label asp-for="Email" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>*@
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 0
- 8
src/Services/Identity/eShopOnContainers.Identity/Views/Account/ForgotPasswordConfirmation.cshtml View File

@ -1,8 +0,0 @@
@{
ViewData["Title"] = "Forgot Password Confirmation";
}
<h2>@ViewData["Title"].</h2>
<p>
Please check your email to reset your password.
</p>

+ 0
- 8
src/Services/Identity/eShopOnContainers.Identity/Views/Account/Lockout.cshtml View File

@ -1,8 +0,0 @@
@{
ViewData["Title"] = "Locked out";
}
<header>
<h1 class="text-danger">Locked out.</h1>
<p class="text-danger">This account has been locked out, please try again later.</p>
</header>

+ 1
- 1
src/Services/Identity/eShopOnContainers.Identity/Views/Account/LoggedOut.cshtml View File

@ -1,6 +1,6 @@
@model eShopOnContainers.Identity.Models.AccountViewModels.LoggedOutViewModel
<div class="page-header">
<div class="container page-header">
<h1>
Logout
<small>You are now logged out</small>


+ 1
- 1
src/Services/Identity/eShopOnContainers.Identity/Views/Account/Logout.cshtml View File

@ -1,6 +1,6 @@
@model eShopOnContainers.Identity.Models.AccountViewModels.LogoutViewModel
<div class="logout-page">
<div class="container logout-page">
<div class="page-header">
<h1>Logout</h1>
</div>


+ 0
- 43
src/Services/Identity/eShopOnContainers.Identity/Views/Account/ResetPassword.cshtml View File

@ -1,43 +0,0 @@
@model ResetPasswordViewModel
@{
ViewData["Title"] = "Reset password";
}
<h2>@ViewData["Title"].</h2>
<form asp-controller="Account" asp-action="ResetPassword" method="post" class="form-horizontal">
<h4>Reset your password.</h4>
<hr />
<div asp-validation-summary="All" class="text-danger"></div>
<input asp-for="Code" type="hidden" />
<div class="form-group">
<label asp-for="Email" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Email" class="form-control" />
<span asp-validation-for="Email" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Password" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Password" class="form-control" />
<span asp-validation-for="Password" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="ConfirmPassword" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ConfirmPassword" class="form-control" />
<span asp-validation-for="ConfirmPassword" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Reset</button>
</div>
</div>
</form>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 0
- 8
src/Services/Identity/eShopOnContainers.Identity/Views/Account/ResetPasswordConfirmation.cshtml View File

@ -1,8 +0,0 @@
@{
ViewData["Title"] = "Reset password confirmation";
}
<h1>@ViewData["Title"].</h1>
<p>
Your password has been reset. Please <a asp-controller="Account" asp-action="Login">Click here to log in</a>.
</p>

+ 0
- 21
src/Services/Identity/eShopOnContainers.Identity/Views/Account/SendCode.cshtml View File

@ -1,21 +0,0 @@
@model SendCodeViewModel
@{
ViewData["Title"] = "Send Verification Code";
}
<h2>@ViewData["Title"].</h2>
<form asp-controller="Account" asp-action="SendCode" asp-route-returnurl="@Model.ReturnUrl" method="post" class="form-horizontal">
<input asp-for="RememberMe" type="hidden" />
<div class="row">
<div class="col-md-8">
Select Two-Factor Authentication Provider:
<select asp-for="SelectedProvider" asp-items="Model.Providers"></select>
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 0
- 38
src/Services/Identity/eShopOnContainers.Identity/Views/Account/VerifyCode.cshtml View File

@ -1,38 +0,0 @@
@model VerifyCodeViewModel
@{
ViewData["Title"] = "Verify";
}
<h2>@ViewData["Title"].</h2>
<form asp-controller="Account" asp-action="VerifyCode" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal">
<div asp-validation-summary="All" class="text-danger"></div>
<input asp-for="Provider" type="hidden" />
<input asp-for="RememberMe" type="hidden" />
<h4>@ViewData["Status"]</h4>
<hr />
<div class="form-group">
<label asp-for="Code" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Code" class="form-control" />
<span asp-validation-for="Code" 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="RememberBrowser" />
<label asp-for="RememberBrowser"></label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 1
- 1
src/Services/Identity/eShopOnContainers.Identity/Views/Consent/Index.cshtml View File

@ -1,6 +1,6 @@
@model eShopOnContainers.Identity.Models.AccountViewModels.ConsentViewModel
<div class="page-consent">
<div class="container page-consent">
<div class="row page-header">
<div class="col-sm-10">
@if (Model.ClientLogoUrl != null)


+ 0
- 27
src/Services/Identity/eShopOnContainers.Identity/Views/Manage/AddPhoneNumber.cshtml View File

@ -1,27 +0,0 @@
@model AddPhoneNumberViewModel
@{
ViewData["Title"] = "Add Phone Number";
}
<h2>@ViewData["Title"].</h2>
<form asp-controller="Manage" asp-action="AddPhoneNumber" method="post" class="form-horizontal">
<h4>Add a phone number.</h4>
<hr />
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<label asp-for="PhoneNumber" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="PhoneNumber" class="form-control" />
<span asp-validation-for="PhoneNumber" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Send verification code</button>
</div>
</div>
</form>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 0
- 42
src/Services/Identity/eShopOnContainers.Identity/Views/Manage/ChangePassword.cshtml View File

@ -1,42 +0,0 @@
@model ChangePasswordViewModel
@{
ViewData["Title"] = "Change Password";
}
<h2>@ViewData["Title"].</h2>
<form asp-controller="Manage" asp-action="ChangePassword" method="post" class="form-horizontal">
<h4>Change Password Form</h4>
<hr />
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<label asp-for="OldPassword" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="OldPassword" class="form-control" />
<span asp-validation-for="OldPassword" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="NewPassword" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="NewPassword" class="form-control" />
<span asp-validation-for="NewPassword" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="ConfirmPassword" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ConfirmPassword" class="form-control" />
<span asp-validation-for="ConfirmPassword" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Change password</button>
</div>
</div>
</form>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 0
- 71
src/Services/Identity/eShopOnContainers.Identity/Views/Manage/Index.cshtml View File

@ -1,71 +0,0 @@
@model IndexViewModel
@{
ViewData["Title"] = "Manage your account";
}
<h2>@ViewData["Title"].</h2>
<p class="text-success">@ViewData["StatusMessage"]</p>
<div>
<h4>Change your account settings</h4>
<hr />
<dl class="dl-horizontal">
<dt>Password:</dt>
<dd>
@if (Model.HasPassword)
{
<a asp-controller="Manage" asp-action="ChangePassword" class="btn-bracketed">Change</a>
}
else
{
<a asp-controller="Manage" asp-action="SetPassword" class="btn-bracketed">Create</a>
}
</dd>
<dt>External Logins:</dt>
<dd>
@Model.Logins.Count <a asp-controller="Manage" asp-action="ManageLogins" class="btn-bracketed">Manage</a>
</dd>
<dt>Phone Number:</dt>
<dd>
<p>
Phone Numbers can used as a second factor of verification in two-factor authentication.
See <a href="http://go.microsoft.com/fwlink/?LinkID=532713">this article</a>
for details on setting up this ASP.NET application to support two-factor authentication using SMS.
</p>
@*@(Model.PhoneNumber ?? "None")
@if (Model.PhoneNumber != null)
{
<br />
<a asp-controller="Manage" asp-action="AddPhoneNumber" class="btn-bracketed">Change</a>
<form asp-controller="Manage" asp-action="RemovePhoneNumber" method="post">
[<button type="submit" class="btn-link">Remove</button>]
</form>
}
else
{
<a asp-controller="Manage" asp-action="AddPhoneNumber" class="btn-bracketed">Add</a>
}*@
</dd>
<dt>Two-Factor Authentication:</dt>
<dd>
<p>
There are no two-factor authentication providers configured. See <a href="http://go.microsoft.com/fwlink/?LinkID=532713">this article</a>
for setting up this application to support two-factor authentication.
</p>
@*@if (Model.TwoFactor)
{
<form asp-controller="Manage" asp-action="DisableTwoFactorAuthentication" method="post" class="form-horizontal">
Enabled <button type="submit" class="btn-link btn-bracketed">Disable</button>
</form>
}
else
{
<form asp-controller="Manage" asp-action="EnableTwoFactorAuthentication" method="post" class="form-horizontal">
<button type="submit" class="btn-link btn-bracketed">Enable</button> Disabled
</form>
}*@
</dd>
</dl>
</div>

+ 0
- 54
src/Services/Identity/eShopOnContainers.Identity/Views/Manage/ManageLogins.cshtml View File

@ -1,54 +0,0 @@
@model ManageLoginsViewModel
@using Microsoft.AspNetCore.Http.Authentication
@{
ViewData["Title"] = "Manage your external logins";
}
<h2>@ViewData["Title"].</h2>
<p class="text-success">@ViewData["StatusMessage"]</p>
@if (Model.CurrentLogins.Count > 0)
{
<h4>Registered Logins</h4>
<table class="table">
<tbody>
@for (var index = 0; index < Model.CurrentLogins.Count; index++)
{
<tr>
<td>@Model.CurrentLogins[index].LoginProvider</td>
<td>
@if ((bool)ViewData["ShowRemoveButton"])
{
<form asp-controller="Manage" asp-action="RemoveLogin" method="post" class="form-horizontal">
<div>
<input asp-for="@Model.CurrentLogins[index].LoginProvider" name="LoginProvider" type="hidden" />
<input asp-for="@Model.CurrentLogins[index].ProviderKey" name="ProviderKey" type="hidden" />
<input type="submit" class="btn btn-default" value="Remove" title="Remove this @Model.CurrentLogins[index].LoginProvider login from your account" />
</div>
</form>
}
else
{
@: &nbsp;
}
</td>
</tr>
}
</tbody>
</table>
}
@if (Model.OtherLogins.Count > 0)
{
<h4>Add another service to log in.</h4>
<hr />
<form asp-controller="Manage" asp-action="LinkLogin" method="post" class="form-horizontal">
<div id="socialLoginList">
<p>
@foreach (var provider in Model.OtherLogins)
{
<button type="submit" class="btn btn-default" name="provider" value="@provider.AuthenticationScheme" title="Log in using your @provider.DisplayName account">@provider.AuthenticationScheme</button>
}
</p>
</div>
</form>
}

+ 0
- 38
src/Services/Identity/eShopOnContainers.Identity/Views/Manage/SetPassword.cshtml View File

@ -1,38 +0,0 @@
@model SetPasswordViewModel
@{
ViewData["Title"] = "Set Password";
}
<p class="text-info">
You do not have a local username/password for this site. Add a local
account so you can log in without an external login.
</p>
<form asp-controller="Manage" asp-action="SetPassword" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal">
<h4>Set your password</h4>
<hr />
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<label asp-for="NewPassword" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="NewPassword" class="form-control" />
<span asp-validation-for="NewPassword" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="ConfirmPassword" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="ConfirmPassword" class="form-control" />
<span asp-validation-for="ConfirmPassword" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Set password</button>
</div>
</div>
</form>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 0
- 30
src/Services/Identity/eShopOnContainers.Identity/Views/Manage/VerifyPhoneNumber.cshtml View File

@ -1,30 +0,0 @@
@model VerifyPhoneNumberViewModel
@{
ViewData["Title"] = "Verify Phone Number";
}
<h2>@ViewData["Title"].</h2>
<form asp-controller="Manage" asp-action="VerifyPhoneNumber" asp-route-returnurl="@ViewData["ReturnUrl"]" method="post" class="form-horizontal">
<input asp-for="PhoneNumber" type="hidden" />
<h4>Add a phone number.</h4>
<h5>@ViewData["Status"]</h5>
<hr />
<div asp-validation-summary="All" class="text-danger"></div>
<div class="form-group">
<label asp-for="Code" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Code" class="form-control" />
<span asp-validation-for="Code" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<button type="submit" class="btn btn-default">Submit</button>
</div>
</div>
</form>
@section Scripts {
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
}

+ 2
- 2
src/Services/Identity/eShopOnContainers.Identity/Views/Shared/_Layout.cshtml View File

@ -21,7 +21,7 @@
<div>
<a asp-action="Register" asp-controller="Account">Register User</a>
</div>
@if (User.Identity.IsAuthenticated)
@*@if (User.Identity.IsAuthenticated)
{
<ul class="nav navbar-nav">
<li class="dropdown">
@ -31,7 +31,7 @@
</ul>
</li>
</ul>
}
}*@
</div>
</div>
</div>


+ 2
- 2
src/Services/Identity/eShopOnContainers.Identity/docker-compose.yml View File

@ -1,11 +1,11 @@
version: '2'
services:
identity.service:
identity.service:
image: eshop/identity
environment:
- SpaClient=http://localhost:5104
- ConnectionString=Server=identity.data;Database=aspnet-Microsoft.eShopOnContainers;User Id=sa;Password=Pass@word
- ConnectionStrings__DefaultConnection=Server=identity.data;Database=aspnet-Microsoft.eShopOnContainers;User Id=sa;Password=Pass@word
#- MvcClient=http://104.40.62.65:5100 #Remote: VM Needs to have public access at 5105.
- MvcClient=http://localhost:5100 #Local: You need a entry in windows host file to run identity in local docker.
ports:


+ 14
- 0
src/Services/Identity/eShopOnContainers.Identity/wwwroot/css/site.css View File

@ -14,6 +14,7 @@
position: relative;
top: -10px;
}
.page-consent .client-logo {
float: left;
}
@ -901,4 +902,17 @@ form .col-md-4 {
width: 360px;
max-width: 360px;
}
}
@media screen and (max-width: 415px) {
.account-login-container {
margin-left: -50px;
}
.page-consent {
margin-left: 10px;
margin-right: 80px;
padding-right: 0px;
padding-left: 0px;
}
}

+ 1
- 1
src/Services/Identity/eShopOnContainers.Identity/wwwroot/css/site.min.css
File diff suppressed because it is too large
View File


Loading…
Cancel
Save