Autenticación y seguridad

De ES Ikoula wiki
Jump to navigation Jump to search


Este artículo ha sido traducido por un software de traducción automática. Usted puede ver el origen artículo aquí.




Introducción

Cómo autenticar las API Ikoula y políticas de seguridad ?

Explicaciones

Por razones obvias de seguridad, la API de Ikoula requiere autenticación. Se basa en un nombre de usuario, una contraseña y una firma :

  • El ID es la dirección de correo electrónico utilizada para la conexión a su cuenta Ikoula o extranet. El nombre del parámetro a pasar siempre es login.
  • La contraseña que sea, es siempre en texto sin formato (parámetro password), se cifra mediante una función específica utilizando una clave pública proporcionada por Ikoula (parámetro crypted_password) y Base 64_encode
  • La firma se genera basándose en los parámetros suministrados al llamar a la API (Consulte el procedimiento de generación de firma ==> La generación de una firma)


Estos ajustes deben pasarse siempre en que el API !

ATENCIÓN :
El paso de la contraseña en texto claro se proporciona para facilitar el agarre de la API y sirve como depuración. Para la prueba de la API, por ejemplo puede utilizar un usuario temporal dedicado a estas pruebas y te autenticarse con la contraseña de texto simple (Ver el WIKI para la creación de sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html).

El uso de cifrado de contraseña con la clave pública Ikoula es esencial en cualquier contexto de la producción o no corte plazo.
Si las llamadas de API están condenadas a ser utilizado a través de un script o un programa, se recomienda crear un usuario dedicado a este propósito en lugar de utilizar su usuario extranet regular.
Dos opciones están disponibles para usted :

  • Póngase en contacto con nuestro apoyo para la creación de un usuario extranet
  • Crear un sous-utilisateur directamente desde la Página principal de tu cuenta de extranet (Ver el WIKI para la creación de sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html) sobre todo no olvidar poner los derechos deseados beneficios .



La clave pública de cifrado de contraseña está disponible en la siguiente dirección
https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem

Ejemplos

Para este ejemplo, será el inicio de sesión "ikoulasupport ".
Para cifrar la contraseña, aquí es un ejemplo de una función utilizando la clave pública 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é

Conclusión

Una vez la contraseña cifrada y firma cifrada, así puede ser la llamada a la API con parámetros (Si seguimos el ejemplo anterior ) :

  • Inicio de sesión = ikoulasupport
  • crypted_password = Base 64_encode ($password_crypt )
  • firma = firma générée (Consulte el procedimiento de generación de firma ==> La generación de una firma)


NB : N'oubliez pas d'url_encode r chaque parámetro passé !



Este artículo parecía que ser útil ?

0



No puedes publicar comentarios.