Files
imprink/src/Imprink.WebApi/Controllers/Users/UserController.cs

30 lines
985 B
C#

using System.Security.Claims;
using Imprink.Domain.Common.Models;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Imprink.WebApi.Controllers.Users;
[ApiController]
[Route("/api/[controller]")]
public class UserController : ControllerBase
{
[Authorize]
[HttpPost]
public IActionResult SyncUser()
{
var claims = User.Claims;
var enumerable = claims as Claim[] ?? claims.ToArray();
var user = new Auth0User
{
Sub = enumerable.FirstOrDefault(c => c.Type == "sub")?.Value ?? "",
Name = enumerable.FirstOrDefault(c => c.Type == "name")?.Value ?? "",
Nickname = enumerable.FirstOrDefault(c => c.Type == "nickname")?.Value ?? "",
Email = enumerable.FirstOrDefault(c => c.Type == "email")?.Value ?? "",
EmailVerified = enumerable.FirstOrDefault(c => c.Type == "email_verified")?.Value == "true"
};
return Ok(user);
}
}