Diferencia entre revisiones de «Autenticación y seguridad»
Línea 1: | Línea 1: | ||
− | |||
− | |||
<br /> | <br /> | ||
Línea 12: | Línea 10: | ||
==Introducción == <!--T:1--> | ==Introducción == <!--T:1--> | ||
− | Cómo autenticar | + | Cómo autenticar las API Ikoula y políticas de seguridad ? |
==Explicaciones == <!--T:2--> | ==Explicaciones == <!--T:2--> | ||
− | Por razones obvias de seguridad, | + | 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 :<br /> |
* 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 <span class="notranslate">'''login'''</span>. | * 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 <span class="notranslate">'''login'''</span>. | ||
* La contraseña que sea, es siempre en texto sin formato (parámetro <span class="notranslate">'''password'''</span>), se cifra mediante una función específica utilizando una clave pública proporcionada por Ikoula (parámetro <span class="notranslate">'''crypted_password'''</span>) y Base 64_encode | * La contraseña que sea, es siempre en texto sin formato (parámetro <span class="notranslate">'''password'''</span>), se cifra mediante una función específica utilizando una clave pública proporcionada por Ikoula (parámetro <span class="notranslate">'''crypted_password'''</span>) 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 ==> [[:fr:Génération_de_la_signature| La generación de una firma]]) | * La firma se genera basándose en los parámetros suministrados al llamar a la API (Consulte el procedimiento de generación de firma ==> [[:fr:Génération_de_la_signature| La generación de una firma]]) | ||
<br /> | <br /> | ||
− | '''Estos ajustes deben pasarse siempre en | + | '''Estos ajustes deben pasarse siempre en que el API !''' |
<br /><br />ATENCIÓN :<br /> | <br /><br />ATENCIÓN :<br /> | ||
− | El paso de la contraseña en texto claro se proporciona para facilitar el agarre de la API y sirve como | + | 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).<br /><br /> |
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.<br /> | 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.<br /> | ||
− | Si llamadas API están | + | 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.<br /> |
Dos opciones están disponibles para usted :<br /> | Dos opciones están disponibles para usted :<br /> | ||
* Póngase en contacto con nuestro apoyo para la creación de un usuario extranet | * Póngase en contacto con nuestro apoyo para la creación de un usuario extranet | ||
Línea 78: | Línea 76: | ||
// Utilisation de la fonction de cryptage | // Utilisation de la fonction de cryptage | ||
− | $password_crypt | + | $password_crypt = opensslEncryptPublic("Mot de passe non crypté"); |
− | if($password_crypt | + | if($password_crypt != NULL) |
− | echo "OK Mot de passe crypté: ".$password_crypt ; | + | echo "OK Mot de passe crypté: ".$password_crypt; |
else | else | ||
echo "Erreur lors du cryptage du mot de passe."; | echo "Erreur lors du cryptage du mot de passe."; | ||
<!--T:4--> | <!--T:4--> | ||
− | // ==> $password_crypt | + | // ==> $password_crypt contient donc le mot de passe crypté |
</syntaxhighlight> | </syntaxhighlight> | ||
==Conclusión == <!--T:5--> | ==Conclusión == <!--T:5--> | ||
− | Una vez la contraseña cifrada y | + | 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 ) :<br /> |
* Inicio de sesión = ikoulasupport | * Inicio de sesión = ikoulasupport | ||
* crypted_password = Base 64_encode ($password_crypt ) | * crypted_password = Base 64_encode ($password_crypt ) | ||
Línea 101: | Línea 99: | ||
Este artículo parecía que ser útil ? <vote /> | Este artículo parecía que ser útil ? <vote /> | ||
<!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Category:Ayuda]] --> | <!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Category:Ayuda]] --> | ||
− | [[ | + | [[Category:API_DE]] |
<!--T:7--> | <!--T:7--> |
Revisión del 14:27 29 sep 2015
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