Files
caliverse_server/BrokerApiTest/Jwt/JwtBasicTests.cs
2025-05-01 07:23:28 +09:00

46 lines
1.3 KiB
C#

using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using BrokerApiCore;
using Xunit.Abstractions;
using BrokerApiServer;
namespace BrokerTest.Jwt;
//=============================================================================================
// Jwt 토큰 생성 및 파싱 기본 라이브러리 사용 테스트
//=============================================================================================
public class JwtBasicTests
{
private readonly ITestOutputHelper m_test_output_helper;
public JwtBasicTests(ITestOutputHelper testOutputHelper)
{
m_test_output_helper = testOutputHelper;
}
[Fact]
public void jwtServiceTest()
{
var jwt_option = new JwtOption
{
Secret = "zgoRtipbFcgQp0VGP8VZW8QhW4ll1swfvASqwr78",
TokenValidityInMinutes = 1,
};
var jwt_service = new JwtGenerator(jwt_option);
var token = jwt_service.generateAccessToken("new_earth", "caliverse");
m_test_output_helper.WriteLine(token);
Assert.NotNull(token);
var jwt_parser = new JwtParser(jwt_option);
var token_parsed = jwt_parser.parseToken(token);
Assert.NotNull(token_parsed);
var sid = token_parsed.FindFirstValue(JwtRegisteredClaimNames.Sid);
Assert.NotNull(sid);
var typ = token_parsed.FindFirstValue(JwtRegisteredClaimNames.Typ);
Assert.NotNull(typ);
}
}