Autenticación y seguridad
Este artículo ha sido traducido por un software de traducción automática. Usted puede ver el origen artículo aquí.
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 ?
Habilitar actualización automática de comentarios