#c# #jwt-auth #jitsi #jitsi-meet
#c# #jwt #jitsi #jitsi-знакомьтесь
Вопрос:
Я не могу сгенерировать указанную ниже полезную нагрузку на C #. Пожалуйста, если кто-то может помочь.
Я использую приведенный ниже код, который генерирует неверный вывод.
var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(key));
var credentials = new SigningCredentials(securityKey, SecurityAlgorithms.HmacSha256);
var permClaims = new List<Claim>();
permClaims.Add(new Claim("aud", "jitsi"));
permClaims.Add(new Claim("iss", "8B23A4BA85DE85D2922703F319496934"));
permClaims.Add(new Claim("sub", "artaticsxauuio.com"));
permClaims.Add(new Claim("room", "jd"));
//Create Security Token object by giving required parameters
var token = new JwtSecurityToken(issuer, //Issure
issuer, //Audience
permClaims,
expires: DateTime.Now.AddHours(1),
signingCredentials: credentials);
var jwt_token = new JwtSecurityTokenHandler().WriteToken(token);
Неправильный вывод, который я получаю:
Заранее благодарю вас. Я создаю это для JITSI.
Ответ №1:
Это работает для меня.
using System.IdentityModel.Tokens.Jwt;
----------------------------------------------------------------------
string key = @"secret-key";
var securityKey = new Microsoft.IdentityModel.Tokens.SymmetricSecurityKey(Encoding.UTF8.GetBytes(key));
var credentials = new Microsoft.IdentityModel.Tokens.SigningCredentials(securityKey, "HS256");
var header = new JwtHeader(credentials);
JwtPayload payload = new JwtPayload();
payload.AddClaim(new System.Security.Claims.Claim("context", "{'user': { 'name': 'username', 'email': 'email' }}", JsonClaimValueTypes.Json));
payload.AddClaim(new System.Security.Claims.Claim("iss", @"app-key"));
payload.AddClaim(new System.Security.Claims.Claim("aud", "meet.jitsi.com"));
payload.AddClaim(new System.Security.Claims.Claim("sub", "meet.jitsi.com"));
payload.AddClaim(new System.Security.Claims.Claim("room", "TestRoom"));
var secToken = new JwtSecurityToken(header, payload);
var handler = new JwtSecurityTokenHandler();
var tokenString = handler.WriteToken(secToken);