אבטחה ואימות

מתוך He Ikoula wiki
Jump to navigation Jump to search

it:Autenticazione e protezione pt:Autenticação e segurança es:Autenticación y seguridad en:Authentication and security fr:Authentification et sécurité

מאמר זה הוא התוצאה של תרגום אוטומטי המבוצע על ידי תוכנה. אתה יכול להציג את מקור המאמר כאן.









מבוא

כיצד לאמת את API Ikoula והמדיניות של אבטחה ?

הסברים

מסיבות מובנות של אבטחהIkoula API מחייב אימות. הוא מבוסס על שם משתמש, סיסמה, חתימה :

  • המזהה הוא כתובת המייל לשימוש עבור החיבור לחשבון שלך Ikoula או אקסטרא-נט. השם של הפרמטר לעבור הוא תמיד כניסה .
  • הסיסמה ככל שיהיה, מסופק בטקסט (פרמטר password), מוצפן באמצעות תפקיד ספציפי באמצעות מפתח ציבורי שמספק Ikoula (פרמטר crypted_password) ועל בסיס 64_encode
  • החתימה נוצר בהתבסס על הפרמטרים שסופקו בעת קריאה ל- API של (עיין בהליך דור חתימה ==> הדור חתימה)


הגדרות אלה צריך תמיד להיות שהועבר להשיג ה-API !

תשומת הלב :
המעבר של הסיסמה בטקסט נקי מסופק כדי להקל על האחיזה של ה-API והוא משמש לאיתור באגים. שלך בדיקה של ה-API, באפשרותך לדוגמה להשתמש משתמש זמני מוקדש בדיקות אלה וכדי לאמת את זהותך עם סיסמת טקסט רגיל (לראות את הויקי להקמת sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html).

השימוש בהצפנה של הסיסמה באמצעות המפתח הציבורי Ikoula חיוני בכל הקשר של ייצור או מונח שאינו בית משפט.
אם קריאות API שגורלך נחרץ לשימוש באמצעות קובץ script או תוכנית, אנו ממליצים ליצור משתמש ייעודי למטרה זו במקום להשתמש שלך משתמש אקסטרא-נט רגיל.
שתי אפשרויות זמינות עבורך :

  • צור קשר עם התמיכה שלנו ליצירת משתמש אקסטרא-נט
  • ליצור של סו-utilisateur ישירות מדף הבית בחשבונך אקסטרא-נט (לראות את הויקי להקמת sous-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



אין באפשרותך לפרסם תגובות.