46 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|