Pārlūkot izejas kodu

authroization guard setup

tags/v1.1.0^2
anastasijasavov pirms 3 gadiem
vecāks
revīzija
af2fffaec2

+ 3
- 2
GrpcShared/Interfaces/IStatsService.cs Parādīt failu

@@ -1,4 +1,5 @@
using ProtoBuf.Grpc.Configuration;
using GrpcShared.DTO.Track;
using ProtoBuf.Grpc.Configuration;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -10,6 +11,6 @@ namespace GrpcShared.Interfaces
[Service]
public interface IStatsService
{
Task<Track>
Task<TrackResponse> GetCurrentlyPlayingTrack(string token);
}
}

+ 26
- 0
NemAnCore/AuthProvider.cs Parādīt failu

@@ -0,0 +1,26 @@
using Blazored.SessionStorage;
using System.Security.Claims;

namespace NemAnBlazor
{
public class AuthProvider : AuthenticationStateProvider
{
private readonly ISessionStorageService _sessionStorage;
public AuthProvider(ISessionStorageService sessionStorage)
{
_sessionStorage = sessionStorage;
}
public override async Task<AuthenticationState> GetAuthenticationStateAsync()
{
string token = await _sessionStorage.GetItemAsync<string>("token");

ClaimsIdentity identity = new ();
ClaimsPrincipal user = new (identity);
AuthenticationState state = new(user);

NotifyAuthenticationStateChanged(Task.FromResult(state));

return state;
}
}
}

+ 4
- 9
NemAnCore/Pages/Callback.razor Parādīt failu

@@ -3,20 +3,15 @@
@inject NavigationManager NavigationMgr
@inject IAuthClientService AuthService
@inject Blazored.SessionStorage.ISessionStorageService sessionStorage
<PageTitle>Callback page</PageTitle>
<PageTitle>Redirecting...</PageTitle>


<p role="status">Current count: @currentCount</p>
<p role="status">Loading...</p>

<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>

@code {
private int currentCount = 0;

private void IncrementCount()
{
currentCount++;
}
protected override async Task OnInitializedAsync()
{
string url = NavigationMgr.Uri;

+ 9
- 1
NemAnCore/Pages/Home.razor Parādīt failu

@@ -1,7 +1,15 @@
@page "/home"
<h3>Home</h3>

<p>pozdrav, login radi</p>
<p>login radi</p>
<AuthorizeView>
<Authorized>
<p>autorizovan si</p>
</Authorized>
<NotAuthorized>
<p>nisi autorizovan</p>
</NotAuthorized>
</AuthorizeView>
@code {

}

+ 3
- 1
NemAnCore/Program.cs Parādīt failu

@@ -1,3 +1,4 @@
global using Microsoft.AspNetCore.Components.Authorization;
using Blazored.SessionStorage;
using Grpc.Net.Client;
using Grpc.Net.Client.Web;
@@ -28,6 +29,7 @@ builder.Services.AddScoped<AuthenticationStateProvider, AuthClientService>();
builder.Services.AddScoped<ITrackClientService, TrackClientService>();
builder.Services.AddScoped<IAuthClientService, AuthClientService>();
builder.Services.AddBlazoredSessionStorage();

builder.Services.AddScoped<AuthenticationStateProvider, AuthProvider>();
builder.Services.AddAuthorizationCore();
await builder.Build().RunAsync();


+ 11
- 0
gRPCServer/Services/StatsService.cs Parādīt failu

@@ -1,9 +1,20 @@

using GrpcShared.DTO.Track;
using GrpcShared.Interfaces;

namespace SpotifyService.Services
{
public class StatsService : IStatsService
{
private readonly IHttpClientFactory _httpClientFactory;

public StatsService(IHttpClientFactory httpClientFactory)
{
_httpClientFactory = httpClientFactory;
}
public Task<TrackResponse> GetCurrentlyPlayingTrack(string token)
{
return null;
}
}
}

Notiek ielāde…
Atcelt
Saglabāt