Проверка подлинности и безопасность
Эта статья является результатом автоматического перевода, выполняемого программного обеспечения. Вы можете посмотреть исходный статьи здесь.
he:אבטחה ואימות
ro:Autentificare și securitate
ru:Проверка подлинности и безопасность
pl:Uwierzytelniania i zabezpieczeń
ja:認証とセキュリティ
ar:الأمان والمصادقة
zh:身份验证和安全
de:Authentifizierung und Sicherheit
nl:Verificatie en beveiliging
it:Autenticazione e protezione
pt:Autenticação e segurança
es:Autenticación y seguridad
en:Authentication and security
Введение
Как проверить подлинность API Ikoula и политики Безопасность ?
Пояснения
Pour des raisons évidentes de Безопасность, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une подпись :
- Идентификатор является адрес электронной почты, используемый для подключения вашей учетной записи Ikoula или экстрасети. Имя параметра для передачи всегда является Логин ;
- Пароль может быть, предоставляется в виде открытого текста (параметр password), шифруется через конкретную функцию, используя открытый ключ, предоставляемый Ikoula (параметр crypted_password) и база64_encode ;
- Подпись создается на основе параметров, указанных при вызове API (Просмотреть процесс генерации подписи ==> Génération de la signature).
Эти параметры всегда должны передаваться в GET API !
ВНИМАНИЕ :
Прохождение пароля открытым текстом предоставляется для облегчения обработки API и служит в качестве debug. Для тестов к API можно, например, использовать временный пользователь, посвященный тесты и проверки подлинности пользователя с паролем в ясной (смотрите вики для создания Су utilisateur: https://support.ikoula.com/index-1-2-2835.html).
Использование шифрования пароля с открытым ключом Ikoula имеет важное значение в любой производственной среде или срок без суда.
Если вызовы API обречены использовать через сценарий или программу, мы рекомендуем создать пользователя, выделенный для этой цели, а не использовать экстрасети пользователя classic.
Есть два варианта :
- Обратитесь в нашу службу поддержки для создания экстрасети пользователя ;
- Создание Су utilisateur прямо с главной страницы учетной записи экстрасети (Смотрите вики для создания Су utilisateur: https://support.ikoula.com/index-1-2-2835.html).
Attention à ne pas oublier de lui mettre les droits sur les prestations souhaitées.
- Шифрование открытого ключа пароля доступен по следующему адресу
- 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.";
// ==> $password_crypt contient donc le mot de passe crypté
Заключение
После того, как пароль шифруется и зашифрованные подписи, мы можем сделать вызов API с параметрами (Если мы следуем выше пример) :
- login = ikoulasupport ;
- crypted_password = База64_encode($password_crypt) ;
- signature = подпись создается (Просмотреть процесс генерации подписи ==> Génération de la signature).
NB : Не забывайте каждый параметр, переданный url_encoder !
Эта статья представляется полезным для вас ?
Включить автоматическое обновление комментариев