如何适当准备jsonwebkey以供API请求?
{
"client_name": "apk1",
"scopes": [
"full"
],
"jwks": {
"keys": [
{
"kty": "RSA",
"e": "AQAB",
"use": "sig",
"kid": "xxxxxxxxxxxxxx",
"alg": "RS512",
"n": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
]
}}
API期望这样的JSON。谁能建议我如何正确交付JWK?我试图使用JSONWEBKEY类,但我不知道如何在JSON中获得上面的结构。
var client = new RestClient("url");
var request = new RestRequest("/auth/token", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddHeader("Authorization", "Bearer " + Authtoken);
RSA rsa = RSA.Create(2048);
var rs256 = new RS256Algorithm(rsa, rsa);
//var token = GenerateToken(1);
RSA rsa = RSA.Create(2048);
var parameters = rsa.ExportParameters(true);
var rsaSecurityKey = new RsaSecurityKey(parameters);
var jwk = JsonWebKeyConverter.ConvertFromRSASecurityKey(rsaSecurityKey);
request.AddJsonBody(new
{
client_name = "client_name",
scopes = new[] { "full" },
jwks = new { keys = new[] { jwk } }
});
var TaskResponse = client.ExecutePostAsync<CreateClientResponse>(request);
TaskResponse.Wait();
{
"client_name": "apk1",
"scopes": [
"full"
],
"jwks": {
"keys": [
{
"kty": "RSA",
"e": "AQAB",
"use": "sig",
"kid": "xxxxxxxxxxxxxx",
"alg": "RS512",
"n": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
]
}}
Api expects such json. Can anyone advise me on how to properly deliver jwks? I tried to use the JsonWebKey class but I have no idea how to get the structure like above in json.
var client = new RestClient("url");
var request = new RestRequest("/auth/token", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddHeader("Accept", "application/json");
request.AddHeader("Authorization", "Bearer " + Authtoken);
RSA rsa = RSA.Create(2048);
var rs256 = new RS256Algorithm(rsa, rsa);
//var token = GenerateToken(1);
RSA rsa = RSA.Create(2048);
var parameters = rsa.ExportParameters(true);
var rsaSecurityKey = new RsaSecurityKey(parameters);
var jwk = JsonWebKeyConverter.ConvertFromRSASecurityKey(rsaSecurityKey);
request.AddJsonBody(new
{
client_name = "client_name",
scopes = new[] { "full" },
jwks = new { keys = new[] { jwk } }
});
var TaskResponse = client.ExecutePostAsync<CreateClientResponse>(request);
TaskResponse.Wait();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论