Проверка подлинности и безопасность

Материал из Ru Ikoula wiki
Jump to navigation Jump to search

fr:Authentification et sécurité en:Authentication and security es:Autenticación y seguridad pt:Autenticação e segurança it:Autenticazione e protezione nl:Verificatie en beveiliging de:Authentifizierung und Sicherheit zh:身份验证和安全 ar:الأمان والمصادقة ja:認証とセキュリティ pl:Uwierzytelniania i zabezpieczeń ru:Проверка подлинности и безопасность ro:Autentificare și securitate he:אבטחה ואימות
Эта статья является результатом автоматического перевода, выполняемого программного обеспечения. Вы можете посмотреть исходный статьи здесь.

fr:Authentification et sécurité 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 !



Эта статья представляется полезным для вас ?

0

Catégorie:API



Вы не можете оставлять комментарии.