Browse Source

logout

jkotalik/newVotingSample
Justin Kotalik 6 years ago
parent
commit
c5a858b9ee
  1. 2
      samples/voting/VotingSample.sln
  2. 23
      samples/voting/results/App.razor
  3. 1
      samples/voting/results/Pages/Index.razor
  4. 7
      samples/voting/results/Pages/LoginDisplay.razor
  5. 11
      samples/voting/results/Pages/Logout.cshtml
  6. 37
      samples/voting/results/Pages/NavMenu.razor
  7. 1
      samples/voting/results/Startup.cs
  8. 1
      samples/voting/results/results.csproj

2
samples/voting/VotingSample.sln

@ -14,7 +14,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
tye.yaml = tye.yaml
EndProjectSection
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "IdentityServer", "IdentityServer\IdentityServer.csproj", "{9BDBBF17-99E9-4DD6-9DA9-6C2AA5484147}"
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "IdentityServer", "IdentityServer\IdentityServer.csproj", "{9BDBBF17-99E9-4DD6-9DA9-6C2AA5484147}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution

23
samples/voting/results/App.razor

@ -1,10 +1,13 @@
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
<CascadingAuthenticationState>
<Router AppAssembly="@typeof(Program).Assembly">
<Found Context="routeData">
<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
</Found>
<NotFound>
<LayoutView Layout="@typeof(MainLayout)">
<p>Sorry, there's nothing at this address.</p>
</LayoutView>
</NotFound>
</Router>
</CascadingAuthenticationState>

1
samples/voting/results/Pages/Index.razor

@ -14,6 +14,7 @@
@inject IConfiguration Configuration
<div id="result">
<LoginDisplay />
<ChartJsPieChart @ref="_pieChartJs" Config="@_config" Width="600" Height="300" />
</div>

7
samples/voting/results/Pages/LoginDisplay.razor

@ -0,0 +1,7 @@
<AuthorizeView>
<Authorized>
<form method="post" action="/logout">
<button type="submit" class="nav-link btn btn-link">Log out</button>
</form>
</Authorized>
</AuthorizeView>

11
samples/voting/results/Pages/Logout.cshtml

@ -0,0 +1,11 @@
@page
@using Microsoft.AspNetCore.Http
@using Microsoft.AspNetCore.Authentication
@attribute [IgnoreAntiforgeryToken]
@functions {
public async Task OnPost()
{
await HttpContext.SignOutAsync("Cookies");
await HttpContext.SignOutAsync("oidc");
}
}

37
samples/voting/results/Pages/NavMenu.razor

@ -0,0 +1,37 @@
<div class="top-row pl-4 navbar navbar-dark">
<a class="navbar-brand" href="">tmp</a>
<button class="navbar-toggler" @onclick="ToggleNavMenu">
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="@NavMenuCssClass" @onclick="ToggleNavMenu">
<ul class="nav flex-column">
<li class="nav-item px-3">
<NavLink class="nav-link" href="" Match="NavLinkMatch.All">
<span class="oi oi-home" aria-hidden="true"></span> Home
</NavLink>
</li>
<li class="nav-item px-3">
<NavLink class="nav-link" href="counter">
<span class="oi oi-plus" aria-hidden="true"></span> Counter
</NavLink>
</li>
<li class="nav-item px-3">
<NavLink class="nav-link" href="fetchdata">
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data
</NavLink>
</li>
</ul>
</div>
@code {
private bool collapseNavMenu = true;
private string NavMenuCssClass => collapseNavMenu ? "collapse" : null;
private void ToggleNavMenu()
{
collapseNavMenu = !collapseNavMenu;
}
}

1
samples/voting/results/Startup.cs

@ -62,6 +62,7 @@ namespace Results
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapBlazorHub().RequireAuthorization();
endpoints.MapFallbackToPage("/_Host");
});

1
samples/voting/results/results.csproj

@ -12,6 +12,7 @@
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="3.1.6" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="3.1.6" />
<PackageReference Include="microsoft.aspnetcore.signalr.client" Version="3.1.3" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="3.1.3" />
<PackageReference Include="npgsql" Version="4.1.3.1" />
</ItemGroup>

Loading…
Cancel
Save