الأمان والمصادقة
ja:認証とセキュリティ
zh:身份验证和安全
fr:Authentification et sécurité
هام: تمت ترجمة هذه المقال باستخدام برامج للترجمة الآلية أنقر على الرابط لية أنقر على الرابط
مقدمة
كيفية المصادقة على السياسات عكلة API والأمن ?
تفسيرات
ولأسباب واضحة للسلامة، عكلة API يتطلب مصادقة. هو استناداً إلى اسم مستخدم وكلمة مرور وتوقيع :
- المعرف هو عنوان البريد الإلكتروني الذي يستخدم للاتصال بالحساب الخاص بك عكلة أو إكسترانت. اسم المعلمة لتمرير دائماً تسجيل دخول .
- كلمة المرور وأنها قد تكون، يرد في نص عادي (المعلمة password)، يتم تشفير عن طريق دالة معينة باستخدام مفتاح عمومي المقدمة من عكلة (المعلمة crypted_password) وقاعدة 64_encode
- التوقيع يتم إنشاؤها استناداً إلى المعلمات الموفرة عند استدعاء API (راجع الإجراء جيل التوقيع ==> توليد التوقيع)
يجب دوماً تمرير هذه الإعدادات في API الحصول على !
الاهتمام :
يتم توفيرها لتسهيل قبضة API مرور كلمة المرور في نص واضح ويخدم كالتصحيح. للاختبار الخاص بك من المعهد، على سبيل المثال يمكنك استخدام مستخدم مؤقت مخصص لهذه الاختبارات ومصادقتك مع كلمة مرور نص عادي (انظر صفحة WIKI لإنشاء المستخدم سوس : https://support.ikoula.com/index-1-2-2835.html).
من الضروري استخدام تشفير كلمة المرور مع المفتاح العمومي عكلة في أي سياق الإنتاج أو مصطلح غير المحكمة.
إذا محكوم مكالمات API لاستخدامها عن طريق برنامج نصي أو برنامج، نوصي بإنشاء مستخدم مخصصة لهذا الغرض بدلاً من استخدام المستخدم الخاص بك إكسترانت العادية.
هناك خياران متاحان لكم :
- الاتصال دعمنا لإنشاء مستخدم إكسترانت
- إنشاء سوس-المستخدم مباشرة من الصفحة الرئيسية للحساب الخاص بك إكسترانت (انظر صفحة WIKI لإنشاء المستخدم سوس : https://support.ikoula.com/index-1-2-2835.html) وبخاصة عدم نسيان وضع الحقوق المطلوب الفوائد .
- المفتاح العمومي من تشفير كلمة المرور متاح على العنوان التالي
- https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
أمثلة
على سبيل المثال، سيتم تسجيل الدخول "إيكولاسوبورت ".
لتشفير كلمة المرور، وإليك مثال على دالة باستخدام عكلة العامة الرئيسية :
// 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 = إيكولاسوبورت
- crypted_password = قاعدة 64_encode($password_crypt)
- signature = إنشاء توقيع (راجع الإجراء جيل التوقيع ==> توليد التوقيع)
ملحوظة: : لا تنسى أن url_encoder تمرير كل معلمة !
هذه المادة يبدو لك أن تكون مفيدة ?
تمكين المحدث التلقائي للتعليق