/// <summary> /// Sets user credentials using the NATS 2.0 security scheme. /// </summary> /// <param name="credentialsPath">A chained credentials file, e.g user.cred</param> public void SetUserCredentials(string credentialsPath) { if (string.IsNullOrWhiteSpace(credentialsPath)) { throw new ArgumentException("Invalid credentials path", nameof(credentialsPath)); } var handler = new DefaultUserJWTHandler(credentialsPath, credentialsPath); UserJWTEventHandler = handler.DefaultUserJWTEventHandler; UserSignatureEventHandler = handler.DefaultUserSignatureHandler; }
/// <summary> /// SetNkey will set the public Nkey and the signature callback to /// sign the server nonce. /// </summary> /// <param name="publicNkey">The User's public Nkey</param> /// <param name="privateKeyPath">A path to a file containing the private Nkey.</param> public void SetNkey(string publicNkey, string privateKeyPath) { if (string.IsNullOrWhiteSpace(publicNkey)) { throw new ArgumentException("Invalid publicNkey", nameof(publicNkey)); } if (string.IsNullOrWhiteSpace(privateKeyPath)) { throw new ArgumentException("Invalid filePath", nameof(privateKeyPath)); } nkey = publicNkey; UserSignatureEventHandler = (obj, args) => { DefaultUserJWTHandler.SignNonceFromFile(privateKeyPath, args); }; }