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.
70 lines
2.2 KiB
70 lines
2.2 KiB
@using System.Security.Claims
|
|
@model string
|
|
|
|
<div class="jumbotron">
|
|
@if (User?.Identity is { IsAuthenticated: true })
|
|
{
|
|
<h1>Welcome, @User.Identity.Name</h1>
|
|
|
|
<p>
|
|
@foreach (var claim in ((ClaimsPrincipal) Context.User).Claims)
|
|
{
|
|
<div>@claim.Type: <b>@claim.Value</b></div>
|
|
}
|
|
</p>
|
|
|
|
if (!string.IsNullOrEmpty(Model))
|
|
{
|
|
<h3>Message received from the resource controller: @Model</h3>
|
|
}
|
|
|
|
if (User is ClaimsPrincipal principal &&
|
|
principal.FindFirst(ClaimTypes.NameIdentifier)?.Issuer is "https://localhost:44349/")
|
|
{
|
|
<form action="/" method="post">
|
|
@Html.AntiForgeryToken()
|
|
|
|
<button class="btn btn-lg btn-warning" type="submit">Query the resource controller</button>
|
|
</form>
|
|
}
|
|
|
|
<form action="/logout" method="post">
|
|
@Html.AntiForgeryToken()
|
|
|
|
<input type="hidden" name="returnUrl" value="@Request.RawUrl" />
|
|
|
|
<button class="btn btn-lg btn-danger" type="submit">Sign out</button>
|
|
</form>
|
|
}
|
|
|
|
else
|
|
{
|
|
<h1>Welcome, anonymous</h1>
|
|
|
|
<form action="/login" method="post">
|
|
@Html.AntiForgeryToken()
|
|
|
|
<input type="hidden" name="returnUrl" value="@Request.RawUrl" />
|
|
|
|
<button class="btn btn-lg btn-success" type="submit" name="provider" value="Local">
|
|
Sign in using the local OIDC server
|
|
</button>
|
|
|
|
<button class="btn btn-lg btn-success" type="submit" name="provider" value="Local+GitHub">
|
|
Sign in using the local OIDC server (using GitHub delegation)
|
|
</button>
|
|
|
|
<button class="btn btn-lg btn-success" type="submit" name="provider" value="GitHub">
|
|
Sign in using GitHub
|
|
</button>
|
|
|
|
<button class="btn btn-lg btn-success" type="submit" name="provider" value="Google">
|
|
Sign in using Google
|
|
</button>
|
|
|
|
<button class="btn btn-lg btn-success" type="submit" name="provider" value="Twitter">
|
|
Sign in using Twitter
|
|
</button>
|
|
</form>
|
|
}
|
|
</div>
|