From 1a1c8e71fcd14858f595029f089b2d4a00202b32 Mon Sep 17 00:00:00 2001
From: ogi <Administrator@S-OGI-PC>
Date: Fri, 05 Dec 2025 09:24:16 +0900
Subject: [PATCH] プロジェクトファイルを追加。
---
HotelPms.GrpcService/Controllers/LoginController.cs | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 51 insertions(+), 0 deletions(-)
diff --git a/HotelPms.GrpcService/Controllers/LoginController.cs b/HotelPms.GrpcService/Controllers/LoginController.cs
new file mode 100644
index 0000000..d1a25d4
--- /dev/null
+++ b/HotelPms.GrpcService/Controllers/LoginController.cs
@@ -0,0 +1,51 @@
+using HotelPms.Data.Common.Auth;
+using Microsoft.AspNetCore.Mvc;
+using Microsoft.Extensions.Configuration;
+using Microsoft.IdentityModel.Tokens;
+using System;
+using System.IdentityModel.Tokens.Jwt;
+using System.Security.Claims;
+using System.Text;
+
+namespace HotelPms.GrpcService.Controllers
+{
+ [Route("api/[controller]")]
+ [ApiController]
+ public class LoginController : ControllerBase
+ {
+ private readonly IConfiguration _configuration;
+
+ public LoginController(IConfiguration configuration)
+ {
+ _configuration = configuration;
+ }
+
+ [HttpPost]
+ public IActionResult Login([FromBody] LoginModel login)
+ {
+ //DBチェック
+ //var result = await _signInManager.PasswordSignInAsync(login.Email, login.Password, false, false);
+
+ //if (!result.Succeeded) return BadRequest(new LoginResult { Successful = false, Error = "Username and password are invalid." });
+
+ var claims = new[]
+ {
+ new Claim(ClaimTypes.Name, login.Name)
+ };
+
+ var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_configuration["JwtSecurityKey"]));
+ var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256);
+ var expiry = DateTime.Now.AddDays(Convert.ToInt32(_configuration["JwtExpiryInDays"]));
+
+ var token = new JwtSecurityToken(
+ _configuration["JwtIssuer"],
+ _configuration["JwtAudience"],
+ claims,
+ expires: expiry,
+ signingCredentials: creds
+ );
+
+ return Ok(new LoginResult { Successful = true, Token = new JwtSecurityTokenHandler().WriteToken(token) });
+ }
+ }
+}
\ No newline at end of file
--
Gitblit v1.10.0