첨부 실행 코드는 나눔고딕코딩 폰트를 사용합니다.
728x90
반응형
728x170
using Microsoft.IdentityModel.Tokens;
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;

#region JWT 토큰 생성하기 - GenerateJWTToken(claimEnumerable, secretKey, issuer, audience)

/// <summary>
/// JWT 토큰 생성하기
/// </summary>
/// <param name="claimEnumerable">클레임 열거 가능형</param>
/// <param name="secretKey">비밀 키</param>
/// <param name="issuer">발행자</param>
/// <param name="audience">청취자</param>
/// <returns>JWT 토큰</returns>
public string GenerateJWTToken(IEnumerable<Claim> claimEnumerable, string secretKey, string issuer, string audience)
{
    byte[] keyByteArray = Encoding.UTF8.GetBytes(secretKey);

    SymmetricSecurityKey symmetricSecurityKey = new(keyByteArray);

    SigningCredentials credentials = new(symmetricSecurityKey, SecurityAlgorithms.HmacSha256);

    JwtSecurityToken token = new
    (
        issuer             : issuer,
        audience           : audience,
        claims             : claimEnumerable,
        expires            : DateTime.Now.AddHours(1),
        signingCredentials : credentials
    );

    string tokenString = new JwtSecurityTokenHandler().WriteToken(token);

    return tokenString;
}

#endregion
728x90
반응형
그리드형(광고전용)
Posted by icodebroker

댓글을 달아 주세요