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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
| public class JWT1
{
private const string tokenId = "419506";
private const string key = "/V2qzwXZ6+inAQ/ygqTUMq5yEYOZBOSVzOEK6wjGJuh/YpaP/y7a1ge8s03ycEWVcAgaQt1ghmNRg5Izk3nHNw==";
public static void Test()
{
GetRequest("/orders?product_id=1");
}
private static void GetRequest(string getString)
{
string encoded = Encode(getString);
WebRequest request = WebRequest.Create("https://api.quoine.com"+ getString);
request.Method = "GET";
request.Timeout = 12000;
request.AuthenticationLevel = System.Net.Security.AuthenticationLevel.MutualAuthRequired;
request.ContentType = "application/json";
request.Headers.Add("X-Quoine-API-Version", "2");
request.Headers.Add("X-Quoine-Auth", encoded);
WebResponse response = null;
try
{
response = request.GetResponse();
}
catch (Exception)
{
throw;
}
finally
{
Stream stream = response.GetResponseStream();
StreamReader reader = new StreamReader(stream);
Debug.WriteLine("encoded : " + encoded);
//Debug.WriteLine("StatuDesc : " + response.StatusDescription);
//Debug.WriteLine("Statucode : " + response.StatusCode);
//Debug.WriteLine("Charac : " + response.CharacterSet);
Debug.WriteLine("Stream : " + reader.ReadToEnd());
response.Close();
}
}
private static string Encode(string request)
{
SymmetricSecurityKey securityKey = new SymmetricSecurityKey(Convert.FromBase64String(key));
SigningCredentials credentials = new SigningCredentials
(securityKey, SecurityAlgorithms.HmacSha256Signature, SecurityAlgorithms.Sha256Digest);
JwtHeader header = new JwtHeader(credentials);
JwtPayload payload = new JwtPayload
{
{ "path ", request},
{ "nonce", DateTime.Now.Ticks},
{"token_id",tokenId }
};
JwtSecurityToken secToken = new JwtSecurityToken(header, payload);
JwtSecurityTokenHandler handler = new JwtSecurityTokenHandler();
return handler.WriteToken(secToken);
}
} |
Partager