Diferencia entre revisiones de «Autenticación y seguridad»
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 14:37 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 ?
Habilitar actualización automática de comentarios