Проверка подлинности и безопасность: различия между версиями

Материал из Ru Ikoula wiki
Jump to navigation Jump to search
Строка 1: Строка 1:
 +
<span data-link_translate_it_title="Autenticazione e protezione"  data-link_translate_it_url="Autenticazione+e+protezione"></span>[[:it:Autenticazione e protezione]][[it:Autenticazione e protezione]]
 
<span data-link_translate_pt_title="Autenticação e segurança"  data-link_translate_pt_url="Autentica%C3%A7%C3%A3o+e+seguran%C3%A7a"></span>[[:pt:Autenticação e segurança]][[pt:Autenticação e segurança]]
 
<span data-link_translate_pt_title="Autenticação e segurança"  data-link_translate_pt_url="Autentica%C3%A7%C3%A3o+e+seguran%C3%A7a"></span>[[:pt:Autenticação e segurança]][[pt:Autenticação e segurança]]
 
<span data-link_translate_es_title="Autenticación y seguridad"  data-link_translate_es_url="Autenticaci%C3%B3n+y+seguridad"></span>[[:es:Autenticación y seguridad]][[es:Autenticación y seguridad]]
 
<span data-link_translate_es_title="Autenticación y seguridad"  data-link_translate_es_url="Autenticaci%C3%B3n+y+seguridad"></span>[[:es:Autenticación y seguridad]][[es:Autenticación y seguridad]]

Версия 12:24, 18 ноября 2015

it:Autenticazione e protezione pt:Autenticação e segurança es:Autenticación y seguridad en:Authentication and security 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 каждого параметра !



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

0



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