Diferencia entre revisiones de «Autenticación y seguridad»

De ES Ikoula wiki
Jump to navigation Jump to search
Línea 1: Línea 1:
 +
<span data-link_translate_en_title="Authentication and security"  data-link_translate_en_url="Authentication+and+security"></span>[[:en:Authentication and security]][[en:Authentication and security]]
 
<span data-link_translate_fr_title="Authentification et sécurité"  data-link_translate_fr_url="Authentification_et_s%C3%A9curit%C3%A9"></span>[[:fr:Authentification et sécurité]][[fr:Authentification et sécurité]]
 
<span data-link_translate_fr_title="Authentification et sécurité"  data-link_translate_fr_url="Authentification_et_s%C3%A9curit%C3%A9"></span>[[:fr:Authentification et sécurité]][[fr:Authentification et sécurité]]
 
<br />
 
<br />

Revisión del 12:16 29 sep 2015

en:Authentication and security fr:Authentification et sécurité

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.