Verificatie en beveiliging
Dit artikel is vertaald door middel van automatische vertalingssoftware. U kunt het artikel bron hier te bekijken.
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
Introductie
Hoe om te verifiëren de API Ikoula en het beleid van Veiligheid ?
Uitleg
Pour des raisons évidentes de Veiligheid, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une handtekening :
- De ID is het e-mailadres dat is gebruikt voor het aansluiten van uw Ikoula-account of tot het extranet. De naam van de parameter doorgeven is altijd login ;
- Het wachtwoord als het kan, vindt u in normale tekst (met de parameter password), is versleuteld via een specifieke functie met behulp van een openbare sleutel die is verstrekt door Ikoula (met de parameter crypted_password) en Base64_encode ;
- De handtekening is gegenereerd op basis van de parameters die zijn opgegeven bij het aanroepen van de API (Zie het proces van de generatie van handtekeningen ==> Génération de la signature).
Deze instellingen moeten altijd worden doorgegeven in GET aan de API !
AANDACHT :
De passage van het wachtwoord in leesbare tekst wordt geleverd om de behandeling van de API en fungeert als een debug. Voor je tests aan de API, kunt u, bijvoorbeeld, gebruikt een tijdelijke gebruiker gewijd aan deze tests en verifieert u met het wachtwoord in duidelijke (Zie de Wiki voor de oprichting van sous utilisateur: https://support.ikoula.com/index-1-2-2835.html).
Het gebruik van codering van het wachtwoord met de openbare sleutel Ikoula is essentieel in een productie-omgeving of niet-Hof termijn.
Als de API-aanroepen gedoemd om te worden gebruikt via een script of een programma zijn, we adviseren u een gebruiker gewijd aan dit doel plaats gebruiken uw extranet gebruiker classic.
U hebt twee opties :
- Neem contact op met onze steun voor de oprichting van een extranet gebruiker ;
- Een sous-utilisateur rechtstreeks vanuit de homepage van uw extranet account maken (Zie de WIKI voor de oprichting van 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.
- Codering met openbare sleutels het wachtwoord is beschikbaar op het volgende adres
- https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
Voorbeelden
Voor dit voorbeeld zullen de login "ikoulasupport".
Als u wilt versleutelen het wachtwoord, is hier een voorbeeld van een functie met behulp van de openbare sleutel 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é
Conclusie
Zodra het wachtwoord gecodeerd en handtekening gecodeerd, kunnen we de API-aanroep met parameters (Als we in het bovenstaande voorbeeld volgen) :
- login = ikoulasupport ;
- crypted_password = base64_encode($password_crypt) ;
- signature = handtekening gegenereerd (Zie het proces van de generatie van handtekeningen ==> Génération de la signature).
NB : Vergeet niet te url_encoder elke parameter doorgegeven !
Dit artikel nuttig lijken voor u ?
Automatisch bijwerken van reacties inschakelen