Uwierzytelniania i zabezpieczeń
Artykuł ten jest wynikiem translacji automatycznej wykonywane przez oprogramowanie. Możesz przeglądać źródła artykułu tutaj.
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
Wprowadzenie
Jak uwierzytelnić API Ikoula i polityki Bezpieczeństwa ?
Wyjaśnienia
Pour des raisons évidentes de Bezpieczeństwa, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une podpis :
- ID to adres e-mail używany do łączenia konta Ikoula lub do ekstranetu. Nazwa parametru, aby przekazać jest zawsze Zaloguj się ;
- Hasło może być, jest dostarczane w postaci zwykłego tekstu (parametr password), są szyfrowane za pomocą określonych funkcji za pomocą klucza publicznego, pod warunkiem przez Ikoula (parametr crypted_password) i podstawy64_encode ;
- Podpis jest generowany na podstawie parametrów, podczas wywoływania interfejsu API (Zobacz proces generowania podpisu ==> Génération de la signature).
Te ustawienia powinny być zawsze przekazywane w GET API !
UWAGI :
Przejście hasła w postaci zwykłego tekstu jest dostarczane w celu ułatwienia obsługi interfejsu API i służy jako debugowania. Dla testów API można, na przykład użyć tymczasowe użytkownika, dedykowane do tych badań i identyfikacji użytkownika z hasłem w jasny (Zobacz Wiki dla stworzenia sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).
Korzystanie z szyfrowania hasła przy użyciu klucza publicznego Ikoula jest niezbędne w każdym środowisku produkcyjnym lub termin-sąd.
Jeśli wywołania interfejsu API są skazane na być używane przez skrypt lub program, możemy zalecamy tworzenie użytkownika, przeznaczone do tego celu zamiast używać swój klasyczny ekstranetu użytkownika.
Masz dwie opcje :
- Kontakt z obsługą do tworzenia użytkowników ekstranetu ;
- Tworzenie sous-utilisateur bezpośrednio ze strony głównej konta ekstranetu (Zobacz WIKI dla stworzenia 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.
- Szyfrowanie klucza publicznego hasła jest dostępna pod następującym adresem
- https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
Przykłady
Na przykład logowania będzie "ikoulasupport".
Do szyfrowania hasła, Oto przykład funkcji za pomocą klucza publicznego 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é
Wniosek
Po hasła szyfrowane i zaszyfrowany podpis, możemy zrobić wywołania interfejsu API z parametrami (Jeśli przestrzegamy powyższy przykład) :
- login = ikoulasupport ;
- crypted_password = Podstawy64_encode($password_crypt) ;
- signature = podpis wygenerowany (Zobacz proces generowania podpisu ==> Génération de la signature).
NB : Nie zapomnij url_encoder każdego parametru przekazany !
W tym artykule wydaje Ci się przyda ?
Włącz automatyczne odświeżanie komentarzy