Initial commit: Auth Server Base
This commit is contained in:
43
local/modules/conmed.authserver/options.php
Normal file
43
local/modules/conmed.authserver/options.php
Normal file
@@ -0,0 +1,43 @@
|
||||
<?php
|
||||
$mid = "conmed.authserver";
|
||||
if($_POST['Update'] && check_bitrix_sessid()){
|
||||
$rawList = $_POST['client_list'];
|
||||
$lines = explode("\n", str_replace("\r", "", $rawList));
|
||||
$processedLines = [];
|
||||
|
||||
foreach($lines as $line) {
|
||||
$line = trim($line);
|
||||
if(empty($line)) continue;
|
||||
|
||||
// Лимит 3 позволяет корректно обрабатывать https:// в третьем поле
|
||||
$pair = explode(":", $line, 3);
|
||||
$clientId = trim($pair[0]);
|
||||
$secret = trim($pair[1]);
|
||||
$domain = isset($pair[2]) ? trim($pair[2], " /") : "";
|
||||
|
||||
if (strpos($secret, '$2y$') !== 0) {
|
||||
$secret = password_hash($secret, PASSWORD_BCRYPT);
|
||||
}
|
||||
$processedLines[] = $clientId . ":" . $secret . ":" . $domain;
|
||||
}
|
||||
\Bitrix\Main\Config\Option::set($mid, "client_list", implode("\n", $processedLines));
|
||||
\Bitrix\Main\Config\Option::set($mid, "ssl_verify", isset($_POST['ssl_verify']) ? "Y" : "N");
|
||||
}
|
||||
$clientList = \Bitrix\Main\Config\Option::get($mid, "client_list");
|
||||
$tabControl = new CAdminTabControl("tabControl", [["DIV"=>"edit1","TAB"=>"Настройки","TITLE"=>"Доверенные сайты"]]);
|
||||
$tabControl->Begin();
|
||||
?>
|
||||
<form method="post">
|
||||
<?=bitrix_sessid_post()?>
|
||||
<?$tabControl->BeginNextTab()?>
|
||||
<tr>
|
||||
<td width="40%" valign="top">Список клиентов (ID:SECRET:DOMAIN):</td>
|
||||
<td width="60%">
|
||||
<textarea name="client_list" rows="10" cols="90" style="font-family:monospace;"><?=htmlspecialcharsbx($clientList)?></textarea>
|
||||
<br>
|
||||
<small>Формат: <b>ID : SECRET : https://id.con-med.ru</b> (с протоколом, без слеша в конце)</small>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td>Строгая проверка SSL S2S:</td><td><input type="checkbox" name="ssl_verify" value="Y" <?=\Bitrix\Main\Config\Option::get($mid, "ssl_verify", "Y") == "Y" ? "checked" : ""?>></td></tr>
|
||||
|
||||
<?$tabControl->Buttons()?><input type="submit" name="Update" value="Сохранить" class="adm-btn-save"><?$tabControl->End()?></form>
|
||||
Reference in New Issue
Block a user