Uwierzytelniania i zabezpieczeń: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
+ | <span data-link_translate_ru_title="Проверка подлинности и безопасность" data-link_translate_ru_url="%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BF%D0%BE%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8+%D0%B8+%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C"></span>[[:ru:Проверка подлинности и безопасность]][[ru:Проверка подлинности и безопасность]] | ||
<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 /> |
Wersja z 11:20, 22 paź 2015
ru:Проверка подлинности и безопасность
fr:Authentification et sécurité
Artykuł ten jest wynikiem translacji automatycznej wykonywane przez oprogramowanie. Możesz przeglądać źródła artykułu tutaj.
Wprowadzenie
Jak do uwierzytelniania interfejsu API Ikoula i zabezpieczeń Zasady działalności ?
Wyjaśnienia
Z oczywistych względów bezpieczeństwa Ikoula API wymaga uwierzytelniania. Opiera się na nazwę użytkownika, hasło i podpis :
- ID to adres e-mail używany do połączenia z kontem Ikoula lub ekstranecie. Nazwę parametru, aby przejść jest zawsze Zaloguj się .
- Hasło to może być, jest dostarczane w postaci zwykłego tekstu (parametr password), jest szyfrowany za pomocą specjalnych funkcji przy użyciu klucza publicznego przez Ikoula (parametr crypted_password) i podstawa 64_encode
- Podpis jest generowany na podstawie parametrów podczas wywoływania funkcji API (Zobacz procedury generowania podpis ==> Generowanie podpisu)
Te ustawienia zawsze powinny być przekazywane w aby API !
UWAGĘ :
Przejście hasła w postaci zwykłego tekstu jest ułatwienie uchwytu API i służy jako debugowania. Do testowania API, można na przykład użyć tymczasowe user dedykowane do tych testów i uwierzytelniania Ciebie has│o (Zobacz WIKI dla stworzenia sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html).
Wykorzystanie szyfrowania hasła przy użyciu klucza publicznego Ikoula jest niezbędna w każdym kontekście produkcji lub termin-sąd.
Jeśli wywołania interfejsu API są skazane na używane przez skrypt lub program, zaleca się tworzenie użytkownika dedykowanym do tego celu zamiast regularnych użytkowników ekstranetu.
Dostępne są dwie opcje :
- Kontakt z supportem dla tworzenia użytkowników ekstranetu
- Utworzyć 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) szczególnie nie zapominając wprowadzenie prawa pożądane korzyści .
- Klucz publiczny z szyfrowania hasła jest dostępny pod następującym adresem
- https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
Przykłady
Na przykład, będzie logowania "ikoulasupport ".
Do szyfrowania hasła, Oto przykład funkcji przy użyciu 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.";
<!--T:4-->
// ==> $password_crypt contient donc le mot de passe crypté
Zawarcia
Po zaszyfrowane hasło i zaszyfrowany podpis, więc może być wywołanie API z jako parametry (Jeśli pójdziemy do powyższego przykładu ) :
- login = ikoulasupport
- crypted_password = Base 64_encode($password_crypt)
- signature = generowane podpis (Zobacz procedury generowania podpis ==> Generowanie podpisu)
NB : Nie zapomnij url_encoder każdy parametr przekazany !
W tym artykule wydawało ci się przyda ?
Włącz automatyczne odświeżanie komentarzy