public ClientInfo(string username, string name, DeviceInfo deviceInfo, Crypto.OtpInfo otpInfo) { Username = username; Name = name; DeviceInfo = deviceInfo; OtpInfo = otpInfo; }
internal static Dictionary <string, object> RandomOtpChallngeAsDictionary(Crypto.OtpInfo otp) { var challenge = Crypto.GenerateRandomOtpChallenge(otp); return(new Dictionary <string, object> { { "qn", challenge.Challenge.ToBase64() }, { "otpType", "time" }, { "otp", challenge.Signature.ToBase64() }, }); }