Проверка подлинности и безопасность: различия между версиями
Ikbot (обсуждение | вклад) |
Ikbot (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | <span data-link_translate_ja_title="認証とセキュリティ" data-link_translate_ja_url="%E8%AA%8D%E8%A8%BC%E3%81%A8%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3"></span>[[:ja:認証とセキュリティ]][[ja:認証とセキュリティ]] | ||
<span data-link_translate_ar_title="الأمان والمصادقة" data-link_translate_ar_url="%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%86+%D9%88%D8%A7%D9%84%D9%85%D8%B5%D8%A7%D8%AF%D9%82%D8%A9"></span>[[:ar:الأمان والمصادقة]][[ar:الأمان والمصادقة]] | <span data-link_translate_ar_title="الأمان والمصادقة" data-link_translate_ar_url="%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%86+%D9%88%D8%A7%D9%84%D9%85%D8%B5%D8%A7%D8%AF%D9%82%D8%A9"></span>[[:ar:الأمان والمصادقة]][[ar:الأمان والمصادقة]] | ||
<span data-link_translate_zh_title="身份验证和安全" data-link_translate_zh_url="%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%92%8C%E5%AE%89%E5%85%A8"></span>[[:zh:身份验证和安全]][[zh:身份验证和安全]] | <span data-link_translate_zh_title="身份验证和安全" data-link_translate_zh_url="%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%92%8C%E5%AE%89%E5%85%A8"></span>[[:zh:身份验证和安全]][[zh:身份验证和安全]] |
Версия 11:55, 30 октября 2015
ja:認証とセキュリティ
ar:الأمان والمصادقة
zh:身份验证和安全
ro:Autentificare și securitate
pl:Uwierzytelniania i zabezpieczeń
fr:Authentification et sécurité
Эта статья является результатом автоматического перевода, выполняемого программного обеспечения. Вы можете посмотреть исходный статьи здесь.
Введение
Как проверить подлинность политики безопасности и API Ikoula ?
Объяснения
По очевидным соображениям безопасности Ikoula API требует проверки подлинности. Он основан на имени пользователя, пароля и подпись :
- Идентификатор является адрес электронной почты, используемый для подключения к вашей учетной записи Ikoula или экстрасети. Имя параметра для передачи всегда является Вход .
- Пароль, как это может быть, предоставляется в виде обычного текста (параметр password), в зашифрованном виде через определенную функцию, используя открытый ключ, предоставляемый Ikoula (параметр crypted_password) и базовый 64_encode
- Подпись создается на основе параметров, указанных при вызове API (Смотреть процедуры создания подписи ==> Создание подписи)
Эти параметры всегда должен передаваться в получить API !
ВНИМАНИЕ :
Прохождение пароль открытым текстом предоставляется для облегчения захвата API и служит отладки. Для тестирования интерфейса API, например можно использовать временного пользователя, посвященный эти испытания и проверки подлинности пользователя с паролем открытым текстом (Смотрите вики для создания Су utilisateur : https://support.ikoula.com/index-1-2-2835.html).
Использование шифрования пароля с помощью открытого ключа Ikoula имеет важное значение в контексте любого производства или срок без суда.
Если вызовы API обречены быть использованы через сценарий или программу, мы рекомендуем создать пользователя выделенной для этой цели, а не с помощью ваших обычных пользователей экстрасети.
Вам доступны два варианта :
- Свяжитесь с нашей поддержкой для создания экстрасети пользователя
- Создание Су utilisateur непосредственно с главной страницы аккаунта экстрасети (Смотрите вики для создания Су utilisateur : https://support.ikoula.com/index-1-2-2835.html) особенно не забывая Мобиль прав желаемой выгоды .
- Открытый ключ из пароля шифрования доступен по следующему адресу
- https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
Примеры
Для этого примера будет логин "ikoulasupport ".
Чтобы зашифровать пароль, Вот пример функции с использованием ключевых государственных iKoula :
// Chemin local vers la clef publique téléchargée à http://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
define('API_PUB_KEY_PATH', dirname(__FILE__) . '/Ikoula.API.RSAKeyPub.pem');
// Fonction de cryptage du mot de passe via la clef publique Ikoula
function opensslEncryptPublic($password)
{
// Vérification de la présence de la clef publique
if(file_exists(API_PUB_KEY_PATH))
{
if(!empty($password))
{
// on récupére la clef public
$publicKey = openssl_pkey_get_public('file://'.realpath(API_PUB_KEY_PATH));
// Si il n'y a pas eu d'erreur lors de la récupération de la clef publique on continue
if ($publicKey !== FALSE)
{
// Si chiffrement clef publique OK
if(openssl_public_encrypt($password, $crypted, $publicKey) === TRUE)
{
// Renvoie du passe crypté
return $crypted;
}
else
{
return NULL;
}
}
else
return NULL;
}
else
return NULL;
}
else
{
echo("Erreur la clée public n'est pas présente.\n");
return NULL;
}
}
// Utilisation de la fonction de cryptage
$password_crypt = opensslEncryptPublic("Mot de passe non crypté");
if($password_crypt != NULL)
echo "OK Mot de passe crypté: ".$password_crypt;
else
echo "Erreur lors du cryptage du mot de passe.";
<!--T:4-->
// ==> $password_crypt contient donc le mot de passe crypté
Вывод
Как только зашифрованный пароль и зашифрованный подписи, таким образом может быть вызов API с как параметры (Если мы следуем выше примере ) :
- login = ikoulasupport
- crypted_password = База 64_encode($password_crypt)
- signature = создается подпись (Смотреть процедуры создания подписи ==> Создание подписи)
NB : Не забудьте url_encoder каждого параметра !
Эта статья представляется вам быть полезным ?
Включить автоматическое обновление комментариев