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
반응형
그리드형(광고전용)
'C# > Web API' 카테고리의 다른 글
[C#/WEB API] 누겟 설치 : Microsoft.AspNet.WebApi.SelfHost (0) | 2021.11.29 |
---|---|
[C#/WEB API/.NET5] JWT 토큰에서 클레임 주체 구하기 (0) | 2021.11.13 |
[C#/WEB API/.NET5] WEB API에서 JWT(Json Web Token) 인증 사용하기 (0) | 2021.10.04 |
[C#/WEB API/.NET5] 스트림을 사용해 대용량 파일 업로드 하기 (0) | 2021.08.01 |
[C#/WEB API/.NET5] 대용량 파일 업로드 하기 (2GB 제한) (0) | 2021.07.31 |
[C#/WEB API/.NET5] 대용량 데이터를 스트리밍 방식으로 전달받기 (PostgreSQL 연동) (0) | 2021.07.25 |
[C#/WEB API/.NET5] PostgreSQL 데이터베이스 사용하기 (0) | 2021.07.25 |
[C#/WEB API/.NET5] 커스텀 미들웨어를 사용해 API 키 인증하기 (0) | 2021.07.24 |
[C#/WEB API/.NET5] IAsyncActionFilter 인터페이스 : API 키 인증하기 (0) | 2021.07.24 |
[C#/WEB API/.NETCORE] ControllerBase 클래스 : StatusCode 메소드를 사용해 검증 오류 처리하기 (0) | 2020.10.30 |
댓글을 달아 주세요