Autenticación y seguridad

De ES Ikoula wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

fr:Authentification et sécurité en:Authentication and security es:Autenticación y seguridad pt:Autenticação e segurança it:Autenticazione e protezione nl:Verificatie en beveiliging de:Authentifizierung und Sicherheit zh:身份验证和安全 ar:الأمان والمصادقة ja:認証とセキュリティ pl:Uwierzytelniania i zabezpieczeń ru:Проверка подлинности и безопасность ro:Autentificare și securitate he:אבטחה ואימות
Este artículo ha sido traducido por un software de traducción automática. Usted puede ver el origen artículo aquí.

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


Introducción

Cómo autentificar las API Ikoula y políticas de Seguridad ?

Explicaciones

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

  • El ID es la dirección de correo electrónico utilizada para conectar tu cuenta de Ikoula o a la extranet. El nombre del parámetro a pasar es siempre Inicio de sesión ;
  • La contraseña que sea, se encuentra en texto claro (parámetro password), se cifra mediante una función específica utilizando una clave pública proporcionada por Ikoula (parámetro crypted_password) y la Base64_encode ;
  • La firma se genera basándose en los parámetros suministrados al llamar a la API (el proceso de generación de firma ==> Génération de la signature).


Estos valores siempre deben pasar en llegar a la API !

ATENCIÓN :
El paso de la contraseña en texto claro se proporciona para facilitar el manejo de la API y sirve como una depuración. Para sus pruebas a la API, usted puede, por ejemplo, utilizar un usuario temporal dedicado a estas pruebas y te autenticarse con la contraseña en claro (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 entorno de producción o corte no término.
Si las llamadas de API están condenadas a ser utilizado a través de un script o un programa, recomienda crear un usuario dedicado a este propósito en lugar de utiliza el clásico de usuarios de la extranet.
Tienes dos opciones :

  • 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).

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

Cifrado de clave pública de la 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.";

// ==> $password_crypt contient donc le mot de passe crypté

Conclusión

Una vez la contraseña cifrada y encriptada la firma, podemos hacer la llamada a la API con parámetros (Si seguimos el ejemplo de arriba) :

  • login = ikoulasupport ;
  • crypted_password = base64_encode($password_crypt) ;
  • signature = firma generada (el proceso de generación de firma ==> Génération de la signature).


NB : No te olvides url_encoder pasa cada parámetro !



Este artículo parece útil ?

0

Catégorie:API



No puedes publicar comentarios.