mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-16 17:23:04 +08:00
Expose binary password to MqttConnectionValidatorContext.
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using IronPython.Runtime;
|
||||
using Microsoft.Extensions.Logging;
|
||||
@@ -23,12 +22,6 @@ namespace MQTTnet.Server.Mqtt
|
||||
{
|
||||
try
|
||||
{
|
||||
string passwordString = null;
|
||||
if (context.Password != null)
|
||||
{
|
||||
passwordString = Encoding.UTF8.GetString(context.Password);
|
||||
}
|
||||
|
||||
var pythonContext = new PythonDictionary
|
||||
{
|
||||
{ "client_id", context.ClientId },
|
||||
@@ -36,7 +29,7 @@ namespace MQTTnet.Server.Mqtt
|
||||
{ "is_secure_connection", context.IsSecureConnection },
|
||||
{ "username", context.Username },
|
||||
{ "password", context.Password },
|
||||
{ "password_string", passwordString },
|
||||
{ "raw_password", context.RawPassword },
|
||||
{ "result", PythonConvert.Pythonfy(context.ReturnCode) }
|
||||
};
|
||||
|
||||
|
||||
@@ -5,11 +5,17 @@ namespace MQTTnet.Server
|
||||
{
|
||||
public class MqttConnectionValidatorContext
|
||||
{
|
||||
public MqttConnectionValidatorContext(string clientId, string username, byte[] password, MqttApplicationMessage willMessage, string endpoint, bool isSecureConnection)
|
||||
public MqttConnectionValidatorContext(
|
||||
string clientId,
|
||||
string username,
|
||||
byte[] password,
|
||||
MqttApplicationMessage willMessage,
|
||||
string endpoint,
|
||||
bool isSecureConnection)
|
||||
{
|
||||
ClientId = clientId;
|
||||
Username = username;
|
||||
Password = password;
|
||||
RawPassword = password;
|
||||
WillMessage = willMessage;
|
||||
Endpoint = endpoint;
|
||||
IsSecureConnection = isSecureConnection;
|
||||
@@ -19,7 +25,9 @@ namespace MQTTnet.Server
|
||||
|
||||
public string Username { get; }
|
||||
|
||||
public byte[] Password { get; }
|
||||
public string Password => Encoding.UTF8.GetString(RawPassword ?? new byte[0]);
|
||||
|
||||
public byte[] RawPassword { get; }
|
||||
|
||||
public MqttApplicationMessage WillMessage { get; }
|
||||
|
||||
|
||||
@@ -28,8 +28,7 @@ namespace MQTTnet.TestApp.NetCore
|
||||
{
|
||||
if (p.ClientId == "SpecialClient")
|
||||
{
|
||||
var password = Encoding.UTF8.GetString(p.Password);
|
||||
if (p.Username != "USER" || password != "PASS")
|
||||
if (p.Username != "USER" || p.Password != "PASS")
|
||||
{
|
||||
p.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
|
||||
}
|
||||
|
||||
@@ -633,9 +633,7 @@ namespace MQTTnet.TestApp.UniversalWindows
|
||||
return;
|
||||
}
|
||||
|
||||
var password = Encoding.UTF8.GetString(c.Password);
|
||||
|
||||
if (password != "mySecretPassword")
|
||||
if (c.Password != "mySecretPassword")
|
||||
{
|
||||
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
|
||||
return;
|
||||
@@ -719,8 +717,7 @@ namespace MQTTnet.TestApp.UniversalWindows
|
||||
return;
|
||||
}
|
||||
|
||||
var password = Encoding.UTF8.GetString(c.Password);
|
||||
if (password != "mySecretPassword")
|
||||
if (c.Password != "mySecretPassword")
|
||||
{
|
||||
c.ReturnCode = MqttConnectReturnCode.ConnectionRefusedBadUsernameOrPassword;
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user