الأمان والمصادقة
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 وسياسات الأمن ?
تفسيرات
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 التوقيع :
- المعرف هو عنوان البريد الإلكتروني المستخدمة للاتصال إيكولا الحساب الخاص بك أو على الشبكة الخارجية. اسم المعلمة لتمرير دائماً تسجيل الدخول ;
- كلمة المرور وأنها قد تكون، يرد في نص واضح (المعلمة password)، يتم تشفير عن طريق دالة معينة باستخدام مفتاح عمومي المقدمة من عكلة (المعلمة crypted_password) وقاعدة64_encode ;
- التوقيع يتم إنشاؤها استناداً إلى المعلمات الموفرة عند استدعاء API (انظر عملية توليد التوقيع ==> Génération de la signature).
يجب دوماً تمرير هذه الإعدادات في الحصول على إلى API !
الاهتمام :
يتم توفيرها لتسهيل معالجة API مرور كلمة المرور في نص واضح ويعمل كتصحيح. للاختبارات الخاصة بك إلى API، يمكنك، على سبيل المثال، استخدام مستخدم مؤقت مخصص لهذه الاختبارات ومصادقتك مع كلمة المرور في مسح (انظر صفحة Wiki لإنشاء المستخدم سوس: https://support.ikoula.com/index-1-2-2835.html).
استخدام تشفير كلمة المرور مع المفتاح العمومي إيكولا ضروري في أي بيئة الإنتاج أو مصطلح غير المحكمة.
إذا محكوم مكالمات API لاستخدامها عن طريق برنامج نصي أو برنامج، ونحن ننصح بإنشاء مستخدم مخصصة لهذا الغرض بدلاً من استخدام كلاسيكي مستخدم الشبكة الخاص بك.
لديك خياران :
- الاتصال دعمنا لإنشاء مستخدم الشبكة ;
- إنشاء سوس-المستخدم مباشرة من الصفحة الرئيسية للحساب الخاص بك إكسترانت (انظر صفحة WIKI لإنشاء المستخدم سوس: 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
أمثلة
على سبيل المثال، سيتم تسجيل الدخول "إيكولاسوبورت".
لتشفير كلمة المرور، وإليك مثال على دالة باستخدام المفتاح العمومي إيكولا :
// 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 = إيكولاسوبورت ;
- crypted_password = قاعدة64_encode($password_crypt) ;
- signature = التوقيع التي تم إنشاؤها (انظر عملية توليد التوقيع ==> Génération de la signature).
ملحوظة: : لا تنسى أن url_encoder تمرير كل معلمة !
تبدو هذه المادة مفيدة لك ?
تمكين المحدث التلقائي للتعليق