Autenticação e segurança
ru:Проверка подлинности и безопасность
ja:認証とセキュリティ
ar:الأمان والمصادقة
zh:身份验证和安全
ro:Autentificare și securitate
pl:Uwierzytelniania i zabezpieczeń
de:Authentifizierung und Sicherheit
nl:Verificatie en beveiliging
it:Autenticazione e protezione
es:Autenticación y seguridad
en:Authentication and security
fr:Authentification et sécurité
Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo aqui.
Introdução
Como autenticar as políticas de segurança e API Ikoula ?
Explicações
Por razões óbvias de segurança, a API de Ikoula requer autenticação. É Base ado em um nome de usuário, uma senha e uma assinatura :
- O ID é o endereço de email usado para a conexão com sua conta Ikoula ou extranet. O nome do parâmetro para passar é sempre login.
- A senha pode ser, é fornecida em texto sem formatação (parâmetro password), é encriptado através de uma função específica usando uma chave pública fornecida pelo Ikoula (parâmetro crypted_password) e Base 64_encode
- A assinatura é gerada com Base nos parâmetros fornecidos ao chamar o API (consulte o procedimento de geração de assinatura ==> A geração de assinatura)
Essas configurações sempre devem ser passadas para a API !
ATENÇÃO :
A passagem da senha em texto não criptografado é fornecida para facilitar a aderência da API e serve como depurar. Para o seu teste da API, você pode por exemplo usar um usuário temporário dedicado a estes testes e autenticá-lo com a senha de texto sem formatação (Consulte o WIKI para a criação de sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html).
O uso de criptografia de senha com a chave pública Ikoula é essencial em qualquer contexto de produção ou Tribunal não-termo.
Se as chamadas de API estão destinadas a ser utilizados através de um script ou um programa, é recomendável criar um usuário dedicado para esta finalidade, em vez de usar seu usuário regular de extranet.
Duas opções estão disponíveis para você :
- Entre em contato com nosso suporte para a criação de uma extranet usuário
- Criar um sous-utilisateur diretamente da página inicial da sua conta extranet (Consulte o WIKI para a criação de sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html) especialmente não esquecendo colocar os direitos desejado benefícios .
- A chave pública de criptografia de senha está disponível no seguinte endereço
- https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
Exemplos
Para este exemplo, o logon será "ikoulasupport ".
Para criptografar a senha, aqui está um exemplo de uma função usando a chave 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é
Conclusão
Uma vez que a senha criptografada e assinatura criptografada, assim pode ser a chamada de API com como parâmetros (Se seguirmos o exemplo acima ) :
- login = ikoulasupport
- crypted_password = Base 64_encode ($password_crypt )
- assinatura = assinatura générée (consulte o procedimento de geração de assinatura ==> A geração de assinatura)
NB : N'oubliez pas d'url_encode r chaque parâmetro passé !
Este artigo pareceu-lhe ser útil ?
Ativar a atualização automática de comentários