mirror of
https://github.com/mailcow/mailcow-dockerized.git
synced 2025-12-24 07:11:32 +00:00
[Web] Fix Generic-OIDC connection test
This commit is contained in:
@@ -2337,12 +2337,7 @@ function identity_provider($_action = null, $_data = null, $_extra = null) {
|
|||||||
|
|
||||||
switch ($_data['authsource']) {
|
switch ($_data['authsource']) {
|
||||||
case 'keycloak':
|
case 'keycloak':
|
||||||
case 'generic-oidc':
|
|
||||||
if ($_data['authsource'] == 'keycloak') {
|
|
||||||
$url = "{$_data['server_url']}/realms/{$_data['realm']}/protocol/openid-connect/token";
|
$url = "{$_data['server_url']}/realms/{$_data['realm']}/protocol/openid-connect/token";
|
||||||
} else {
|
|
||||||
$url = $_data['token_url'];
|
|
||||||
}
|
|
||||||
$req = http_build_query(array(
|
$req = http_build_query(array(
|
||||||
'grant_type' => 'client_credentials',
|
'grant_type' => 'client_credentials',
|
||||||
'client_id' => $_data['client_id'],
|
'client_id' => $_data['client_id'],
|
||||||
@@ -2355,6 +2350,29 @@ function identity_provider($_action = null, $_data = null, $_extra = null) {
|
|||||||
curl_setopt($curl, CURLOPT_POSTFIELDS, $req);
|
curl_setopt($curl, CURLOPT_POSTFIELDS, $req);
|
||||||
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
|
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded'));
|
||||||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
if ($_data['ignore_ssl_error'] == "1"){
|
||||||
|
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||||
|
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
||||||
|
}
|
||||||
|
$res = curl_exec($curl);
|
||||||
|
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
||||||
|
curl_close ($curl);
|
||||||
|
|
||||||
|
if ($code != 200) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 'generic-oidc':
|
||||||
|
$url = $_data['token_url'];
|
||||||
|
$curl = curl_init();
|
||||||
|
curl_setopt($curl, CURLOPT_URL, $url);
|
||||||
|
curl_setopt($curl, CURLOPT_TIMEOUT, 7);
|
||||||
|
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||||||
|
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "OPTIONS");
|
||||||
|
if ($_data['ignore_ssl_error'] == "1"){
|
||||||
|
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
|
||||||
|
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
|
||||||
|
}
|
||||||
$res = curl_exec($curl);
|
$res = curl_exec($curl);
|
||||||
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
$code = curl_getinfo($curl, CURLINFO_HTTP_CODE);
|
||||||
curl_close ($curl);
|
curl_close ($curl);
|
||||||
|
|||||||
@@ -1114,6 +1114,7 @@
|
|||||||
"forwarding_host_removed": "Weiterleitungs-Host %s wurde entfernt",
|
"forwarding_host_removed": "Weiterleitungs-Host %s wurde entfernt",
|
||||||
"global_filter_written": "Filterdatei wurde erfolgreich geschrieben",
|
"global_filter_written": "Filterdatei wurde erfolgreich geschrieben",
|
||||||
"hash_deleted": "Hash wurde gelöscht",
|
"hash_deleted": "Hash wurde gelöscht",
|
||||||
|
"iam_test_connection": "Verbindung erfolgreich",
|
||||||
"ip_check_opt_in_modified": "IP Check wurde erfolgreich gespeichert",
|
"ip_check_opt_in_modified": "IP Check wurde erfolgreich gespeichert",
|
||||||
"item_deleted": "Objekt %s wurde entfernt",
|
"item_deleted": "Objekt %s wurde entfernt",
|
||||||
"item_released": "Objekt %s freigegeben",
|
"item_released": "Objekt %s freigegeben",
|
||||||
|
|||||||
Reference in New Issue
Block a user