mirror of
https://github.com/Caraxi/mare.server.git
synced 2025-12-30 19:33:39 +01:00
adjust server to use authentication where needed
This commit is contained in:
parent
cc53e5650d
commit
4d3226aa8b
5 changed files with 32 additions and 24 deletions
|
|
@ -7,6 +7,8 @@ using System.Text.Encodings.Web;
|
|||
using System.Threading.Tasks;
|
||||
using MareSynchronosServer.Data;
|
||||
using Microsoft.AspNetCore.Authentication;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Http;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
|
|
@ -20,8 +22,13 @@ namespace MareSynchronosServer.Authentication
|
|||
|
||||
protected override async Task<AuthenticateResult> HandleAuthenticateAsync()
|
||||
{
|
||||
if (!Request.Headers.ContainsKey("Authorization"))
|
||||
var endpoint = Context.GetEndpoint();
|
||||
var endpointMetaData = endpoint?.Metadata?.GetMetadata<IAllowAnonymous>();
|
||||
|
||||
if (!Request.Headers.ContainsKey("Authorization") && endpointMetaData == null)
|
||||
return AuthenticateResult.Fail("Failed Authorization");
|
||||
else if (!Request.Headers.ContainsKey("Authorization") && endpointMetaData != null)
|
||||
return AuthenticateResult.NoResult();
|
||||
|
||||
var authHeader = Request.Headers["Authorization"].ToString();
|
||||
|
||||
|
|
@ -37,6 +44,10 @@ namespace MareSynchronosServer.Authentication
|
|||
{
|
||||
return AuthenticateResult.Fail("Failed Authorization");
|
||||
}
|
||||
else if (endpointMetaData != null && uid == null)
|
||||
{
|
||||
return AuthenticateResult.NoResult();
|
||||
}
|
||||
|
||||
var claims = new List<Claim> {
|
||||
new Claim(ClaimTypes.NameIdentifier, uid)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue