feat: ship agent-first mission control v0.2.57
This commit is contained in:
@@ -1,12 +1,16 @@
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Nexus.Api.Models;
|
||||
|
||||
namespace Nexus.Api.Controllers;
|
||||
|
||||
[ApiController]
|
||||
[Authorize]
|
||||
[Route("api/v1/security")]
|
||||
public class SecurityController(IConfiguration config) : ControllerBase
|
||||
{
|
||||
[HttpGet("status")]
|
||||
[ProducesResponseType(typeof(SecurityStatusDto), StatusCodes.Status200OK)]
|
||||
public IResult GetStatus()
|
||||
{
|
||||
var jwtIssuer = config["Jwt:Issuer"] ?? "nexus";
|
||||
@@ -14,16 +18,21 @@ public class SecurityController(IConfiguration config) : ControllerBase
|
||||
var refreshDays = config.GetValue<int>("Jwt:RefreshTokenExpirationDays", 7);
|
||||
var accessTokenMinutes = config.GetValue<int>("Jwt:AccessTokenExpirationMinutes", 30);
|
||||
|
||||
return Results.Ok(new
|
||||
{
|
||||
authMethod = "JWT + PBKDF2",
|
||||
tokenConfig = new { refreshTokenDays = refreshDays, accessTokenMinutes },
|
||||
rateLimit = "5 login attempts per minute per IP",
|
||||
passwordPolicy = "Minimum 10 characters",
|
||||
cookieConfig = new { httpOnly = true, secure = true, sameSite = "Strict" },
|
||||
twoFactorEnabled = false,
|
||||
passkeyEnabled = false,
|
||||
checkedAt = DateTimeOffset.UtcNow
|
||||
});
|
||||
return Results.Ok(new SecurityStatusDto(
|
||||
"JWT + PBKDF2",
|
||||
new SecurityTokenConfigDto(
|
||||
jwtIssuer,
|
||||
jwtAudience,
|
||||
refreshDays,
|
||||
accessTokenMinutes),
|
||||
"5 login attempts per minute per IP",
|
||||
"Minimum 10 characters",
|
||||
new SecurityCookieConfigDto(
|
||||
HttpOnly: true,
|
||||
Secure: true,
|
||||
SameSite: "Strict"),
|
||||
TwoFactorEnabled: false,
|
||||
PasskeyEnabled: false,
|
||||
DateTimeOffset.UtcNow));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user