Autentificare si securitate

De la Ro Ikoula wiki
Jump to navigation Jump to search


Acest articol este rezultatul unei traduceri automate efectuate de către software-ul. Puteți vizualiza sursa articol aici.

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


Introducere

Cum la spre authenticate API Ikoula şi politici de Securitate ?

Explicaţii

Pour des raisons évidentes de Securitate, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une semnătura :

  • ID-ul este adresa de e-mail pe care utilizate pentru a conecta contul Ikoula sau la extranet. Numele parametrului să treacă este întotdeauna login ;
  • Parola ar fi, este prevăzută în text clar (parametru password), este criptat prin o funcţie specifică utilizarea unei chei publice furnizate de Ikoula (parametru crypted_password) şi de bază64_encode ;
  • Semnătura este generată pe baza parametrilor livrate atunci când sună API (vedea procesul de generare a semnăturii ==> Génération de la signature).


Aceste setări ar trebui să fie întotdeauna trecut în GET API !

ATENŢIA :
Trecerea parola în text clar este prevăzută pentru a facilita utilizarea API şi serveşte ca un depanare. Pentru testele la API, puteţi, de exemplu, utilizaţi un utilizator temporar dedicat aceste teste şi Autentifica-te cu parola în clar (vedea Wiki pentru crearea de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).

Utilizarea de criptare parole cu cheia publică Ikoula este esenţială în orice mediu de producţie sau non-Curtea termen.
Dacă apelurile API sunt sortite să fie utilizat prin intermediul unui script sau un program, noi recomandăm să creaţi un utilizator dedicat acestui scop mai degrabă decât utilizarea dumneavoastră clasic de utilizator extranet.
Aveţi două opţiuni :

  • Contactaţi suportul nostru pentru crearea unui utilizator extranet ;
  • Creaţi un sous-utilisateur direct de pe pagina de start a contului extranet (Vedea WIKI pentru crearea de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).

Attention à ne pas oublier de lui mettre les droits sur les prestations souhaitées.

Criptare de cheie publică a parolei este disponibil la următoarea adresă
https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem

Exemple

Pentru acest exemplu, va fi de logare "ikoulasupport".
Pentru a cripta parola, aici este un exemplu de funcţie folosind cheia publică 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é

Concluzia

Odată ce parola criptată şi criptate semnătura, putem face apel API cu parametrii (Dacă urmăm exemplul de mai sus) :

  • login = ikoulasupport ;
  • crypted_password = Baza64_encode($password_crypt) ;
  • signature = semnătura generate (vedea procesul de generare a semnăturii ==> Génération de la signature).


NB : Nu uitaţi să url_encoder fiecare parametru trecut !



Acest articol pare util pentru tine ?

0

Catégorie:API



Nu sunteți autorizat să publicați comentarii.