NATS AUTHCALLOUT .NETC#

Место общения программистов C#
Ответить
Anonymous
 NATS AUTHCALLOUT .NET

Сообщение Anonymous »

Я попытался авторизировать пользователя в Nats с помощью Authcallout, но я не уверен, что не так, также документация очень необоснован.
Я использую Nats.jwt, который находится в предварительном просмотре, как я знаю.var subs = connection.SubscribeAsync("$SYS.REQ.USER.AUTH");
await foreach (var s in subs) {
try {
var claims = new NatsJwt().DecodeClaims(s.Data);

var seed = "SAAEQ2RFTAW77VKT5PCB7PTYXADB5G45TVIKPSA4IA6K2IIVOIS4EUUDFY";
var nKey = KeyPair.FromSeed(seed);

var uc = new NatsJwt().NewUserClaims(claims.AuthorizationRequest.UserNKey);
var jwt = new NatsJwt().EncodeUserClaims(uc, nKey);

var response = new NatsAuthorizationResponseClaims() {
Subject = claims.AuthorizationRequest.UserNKey,
Audience = "AUTH",
Name = "User",
AuthorizationResponse = new NatsAuthorizationResponse {
Jwt = jwt
}
};

var responseData = new NatsJwt().EncodeAuthorizationResponseClaims(response, nKey);
await s.ReplyAsync(responseData);

}
catch (Exception e) {
Console.WriteLine(e);
}
}
< /code>
и ответа - это jwt < /p>
{
"header" : {
"typ" : "JWT",
"alg" : "ed25519-nkey"
},
"payload" : {
"aud" : "AUTH",
"jti" : "OPXAF47INLOCUAV6QYHH4EF4TYBFCSOKGY2SGUJVC7O3JYDG6KYQ",
"iat" : 1751321167,
"iss" : "ACG6OIN5F2HKSFQOXLF74NTM6B4P5GLJAPW7FVTSGSHN3ZW55DKHE246",
"name" : "User",
"sub" : "UBDFTHFMI33CBTOJJW5YZYCBLEI33FIFKL2OZ5YXLMYUSAM2SWM2QN35",
"nats" : {
"jwt" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJlZDI1NTE5LW5rZXkifQ.eyJqdGkiOiJCVURQRk9CUUxTTFpaQVNHVFhaRlRKSERSS0FWSUhERVBQUFpGSkhaUjdHNVpOSjJISDVRIiwiaWF0IjoxNzUxMzIxMTY3LCJpc3MiOiJBQ0c2T0lONUYySEtTRlFPWExGNzROVE02QjRQNUdMSkFQVzdGVlRTR1NITjNaVzU1REtIRTI0NiIsInN1YiI6IlVCREZUSEZNSTMzQ0JUT0pKVzVZWllDQkxFSTMzRklGS0wyT1o1WVhMTVlVU0FNMlNXTTJRTjM1IiwibmF0cyI6eyJwdWIiOnt9LCJzdWIiOnt9LCJzdWJzIjotMSwiZGF0YSI6LTEsInBheWxvYWQiOi0xLCJ0eXBlIjoidXNlciIsInZlcnNpb24iOjJ9fQ.q3hRtWv0ZPqRpYvu1MFSLaf0-1Lz4LaDlf899YVE1M3R6b3HSqAaqJ7gtg8th8yk6gbtHvqXxatQOVIcRZoaCg",
"error" : null,
"issuer_account" : null,
"type" : "authorization_response",
"version" : 2
}
},
"signature" : "AeLphGt-P-ypOIvHAJpyBS6R2NsPTxs45gcPMilpgxPsjbNSOv5x1ZgUHh9Rb-wdOjGQoL6GaiTZaQgSjhybBQ"
}
< /code>
В другом проекте, где я пытаюсь подключиться, я всегда получаю нарушение автоза. < /p>
Это моя конфигурация.# Account seed
# SAAACPLL5TOFCAWMXNNBOYWQGRNQG3E4BRS23MVXVLVQOPJJQTWSALNZ5I

accounts {
AUTH: {
users: [ { user: auth, password: auth } ]
}
APP: {}
SYS: {}
}

authorization {
auth_callout {
issuer: ACG6OIN5F2HKSFQOXLF74NTM6B4P5GLJAPW7FVTSGSHN3ZW55DKHE246
auth_users: [ auth ]
account: AUTH
}
}


Подробнее здесь: https://stackoverflow.com/questions/796 ... allout-net
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»