mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-14 14:02:48 +00:00
Connect with no authentication
This commit is contained in:
parent
df6af8a29a
commit
9cf505e27a
3 changed files with 27 additions and 55 deletions
|
@ -5,10 +5,10 @@ class Server {
|
|||
String domain;
|
||||
String? path;
|
||||
int? port;
|
||||
String user;
|
||||
String password;
|
||||
String? user;
|
||||
String? password;
|
||||
bool defaultServer;
|
||||
String authToken;
|
||||
String? authToken;
|
||||
bool runningOnHa;
|
||||
|
||||
Server({
|
||||
|
@ -18,10 +18,10 @@ class Server {
|
|||
required this.domain,
|
||||
this.path,
|
||||
this.port,
|
||||
required this.user,
|
||||
required this.password,
|
||||
this.user,
|
||||
this.password,
|
||||
required this.defaultServer,
|
||||
required this.authToken,
|
||||
this.authToken,
|
||||
required this.runningOnHa,
|
||||
});
|
||||
}
|
|
@ -35,7 +35,9 @@ Future<Map<String, dynamic>> apiRequest({
|
|||
HttpClient httpClient = HttpClient();
|
||||
if (method == 'get') {
|
||||
HttpClientRequest request = await httpClient.getUrl(Uri.parse(connectionString));
|
||||
if (server.authToken != null) {
|
||||
request.headers.set('Authorization', 'Basic ${server.authToken}');
|
||||
}
|
||||
HttpClientResponse response = overrideTimeout == true
|
||||
? await request.close()
|
||||
: await request.close().timeout(const Duration(seconds: 10));
|
||||
|
@ -60,7 +62,9 @@ Future<Map<String, dynamic>> apiRequest({
|
|||
}
|
||||
else if (method == 'post') {
|
||||
HttpClientRequest request = await httpClient.postUrl(Uri.parse(connectionString));
|
||||
if (server.authToken != null) {
|
||||
request.headers.set('Authorization', 'Basic ${server.authToken}');
|
||||
}
|
||||
request.headers.set('content-type', 'application/json');
|
||||
request.add(utf8.encode(json.encode(body)));
|
||||
HttpClientResponse response = overrideTimeout == true
|
||||
|
|
|
@ -44,10 +44,8 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
String? portError;
|
||||
|
||||
final TextEditingController userController = TextEditingController();
|
||||
String? userError;
|
||||
|
||||
final TextEditingController passwordController = TextEditingController();
|
||||
String? passwordError;
|
||||
|
||||
bool defaultServer = false;
|
||||
|
||||
|
@ -114,9 +112,7 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
ipDomainController.text != '' &&
|
||||
ipDomainError == null &&
|
||||
pathError == null &&
|
||||
portError == null &&
|
||||
userController.text != '' &&
|
||||
passwordController.text != ''
|
||||
portError == null
|
||||
) {
|
||||
setState(() {
|
||||
allDataValid = true;
|
||||
|
@ -196,34 +192,6 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
checkDataValid();
|
||||
}
|
||||
|
||||
void validateUser(String? value) {
|
||||
if (value != null && value != '') {
|
||||
setState(() {
|
||||
userError = null;
|
||||
});
|
||||
}
|
||||
else {
|
||||
setState(() {
|
||||
userError = AppLocalizations.of(context)!.userNotEmpty;
|
||||
});
|
||||
}
|
||||
checkDataValid();
|
||||
}
|
||||
|
||||
void validatePassword(String? value) {
|
||||
if (value != null && value != '') {
|
||||
setState(() {
|
||||
passwordError = null;
|
||||
});
|
||||
}
|
||||
else {
|
||||
setState(() {
|
||||
passwordError = AppLocalizations.of(context)!.passwordNotEmpty;
|
||||
});
|
||||
}
|
||||
checkDataValid();
|
||||
}
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
if (widget.server != null) {
|
||||
|
@ -232,8 +200,8 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
ipDomainController.text = widget.server!.domain;
|
||||
pathController.text = widget.server!.path ?? '';
|
||||
portController.text = widget.server!.port != null ? widget.server!.port.toString() : "";
|
||||
userController.text = widget.server!.user;
|
||||
passwordController.text = widget.server!.password;
|
||||
userController.text = widget.server!.user ?? "";
|
||||
passwordController.text = widget.server!.password ?? "";
|
||||
defaultServer = widget.server!.defaultServer;
|
||||
homeAssistant = widget.server!.runningOnHa;
|
||||
}
|
||||
|
@ -255,12 +223,12 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
connectionMethod: connectionType.name,
|
||||
domain: ipDomainController.text,
|
||||
port: portController.text != '' ? int.parse(portController.text) : null,
|
||||
user: userController.text,
|
||||
password: passwordController.text,
|
||||
user: userController.text != "" ? userController.text : null,
|
||||
password: passwordController.text != "" ? passwordController.text : null,
|
||||
defaultServer: defaultServer,
|
||||
authToken: homeAssistant == true
|
||||
? encodeBase64UserPass(userController.text, passwordController.text)
|
||||
: '',
|
||||
: null,
|
||||
runningOnHa: homeAssistant
|
||||
);
|
||||
setState(() => isConnecting = true);
|
||||
|
@ -272,7 +240,9 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
setState(() => isConnecting = false);
|
||||
|
||||
if (result['result'] == 'success') {
|
||||
serverObj.authToken = encodeBase64UserPass(serverObj.user, serverObj.password);
|
||||
if (serverObj.user != null && serverObj.password != null) {
|
||||
serverObj.authToken = encodeBase64UserPass(serverObj.user!, serverObj.password!);
|
||||
}
|
||||
final serverCreated = await serversProvider.createServer(serverObj);
|
||||
if (serverCreated == null) {
|
||||
serversProvider.setServerStatusLoad(0);
|
||||
|
@ -366,12 +336,12 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
connectionMethod: connectionType.name,
|
||||
domain: ipDomainController.text,
|
||||
port: portController.text != '' ? int.parse(portController.text) : null,
|
||||
user: userController.text,
|
||||
password: passwordController.text,
|
||||
user: userController.text != "" ? userController.text : null,
|
||||
password: passwordController.text != "" ? passwordController.text : null,
|
||||
defaultServer: defaultServer,
|
||||
authToken: homeAssistant == true
|
||||
? encodeBase64UserPass(userController.text, passwordController.text)
|
||||
: '',
|
||||
: null,
|
||||
runningOnHa: homeAssistant
|
||||
);
|
||||
|
||||
|
@ -380,7 +350,9 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
: await login(serverObj);
|
||||
|
||||
if (result['result'] == 'success') {
|
||||
serverObj.authToken = encodeBase64UserPass(serverObj.user, serverObj.password);
|
||||
if (serverObj.user != null && serverObj.password != null) {
|
||||
serverObj.authToken = encodeBase64UserPass(serverObj.user!, serverObj.password!);
|
||||
}
|
||||
final serverSaved = await serversProvider.editServer(serverObj);
|
||||
if (serverSaved == null) {
|
||||
Navigator.pop(context);
|
||||
|
@ -576,8 +548,6 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
label: AppLocalizations.of(context)!.username,
|
||||
controller: userController,
|
||||
icon: Icons.person_rounded,
|
||||
onChanged: validateUser,
|
||||
error: userError
|
||||
),
|
||||
const SizedBox(height: 20),
|
||||
textField(
|
||||
|
@ -585,8 +555,6 @@ class _AddServerModalState extends State<AddServerModal> {
|
|||
controller: passwordController,
|
||||
icon: Icons.lock_rounded,
|
||||
keyboardType: TextInputType.visiblePassword,
|
||||
onChanged: validatePassword,
|
||||
error: passwordError,
|
||||
obscureText: true
|
||||
),
|
||||
sectionLabel(AppLocalizations.of(context)!.other),
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue