일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 차트
- Upbit API
- Prism
- 업비트 c#
- c# websocket
- c# 업비트 api키 목록
- 북마크
- 업비트 차트
- 업비트
- 나만의 사이트모음집
- XAML
- c# restapi
- c# maui
- c# api호출
- 라이브 차트
- 업비트 API
- c# 라이브 차트
- 즐겨찾기
- c# 차트
- C#
- c# 업비트
- c# restapi 호출
- upbit
- WPF
- Chart
- maui
Archives
- Today
- Total
하아찡
[C#/WPF] Upbit 프로젝트 JWT 본문
인증요청을위해 JWT를 만듦.
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Cryptography;
using System.Text;
using Upbit.UpbitFunctions;
namespace Upbit.Functions
{
public class JWT
{
public static string GetJWT(string parameter = "")
{
string queryHash = "";
//파라미터 존재할경우
if (parameter != "")
{
Dictionary<string, string> parameters = new Dictionary<string, string>();
foreach (string value in parameter.Split(','))
{
parameters.Add(value.Split(':')[0], value.Split(':')[1]);
}
StringBuilder builder = new StringBuilder();
foreach (KeyValuePair<string, string> pair in parameters)
{
builder.Append(pair.Key).Append("=").Append(pair.Value).Append("&");
}
string queryString = builder.ToString().TrimEnd('&');
SHA512 sha512 = SHA512.Create();
byte[] queryHashByteArray = sha512.ComputeHash(Encoding.UTF8.GetBytes(queryString));
queryHash = BitConverter.ToString(queryHashByteArray).Replace("-", "").ToLower();
}
var payload = new JwtPayload
{
{ "access_key", Access.UpbitInstance.GetAccessKey() },
{ "nonce", Guid.NewGuid().ToString() },
{ "query_hash", queryHash },
{ "query_hash_alg", "SHA512" }
};
byte[] keyBytes = Encoding.Default.GetBytes(Access.UpbitInstance.GetSecretKey());
var securityKey = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(keyBytes);
var credentials = new Microsoft.IdentityModel.Tokens.SigningCredentials(securityKey, "HS256");
var header = new JwtHeader(credentials);
var secToken = new JwtSecurityToken(header, payload);
var jwtToken = new JwtSecurityTokenHandler().WriteToken(secToken);
var authorizationToken = "Bearer " + jwtToken;
return authorizationToken;
}
}
}
자세한 내용은 업비트에서 확인해주세요.
https://docs.upbit.com/docs/create-authorization-request
Open API | 업비트 개발자 센터
docs.upbit.com
반응형
'C# > 코인프로그램 - 코드' 카테고리의 다른 글
[C#/WPF/수정] PublicColor프로젝트 색변경 추가 (2) | 2023.12.06 |
---|---|
[C#/WPF/수정] Upbit프로젝트 Balance (2) | 2023.12.05 |
[C#/WPF] Upbit 프로젝트 Chart - 7(Converter) (0) | 2023.12.03 |
[C#/WPF] Upbit 프로젝트 Chart - 6(틱 타입변경) (2) | 2023.12.03 |
[C#/WPF] Upbit 프로젝트 Chart - 5(라이브 캔들) (0) | 2023.12.02 |