Uwierzytelniania i zabezpieczeń: Różnice pomiędzy wersjami
Linia 1: | Linia 1: | ||
+ | <span data-link_translate_zh_title="身份验证和安全" data-link_translate_zh_url="%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%92%8C%E5%AE%89%E5%85%A8"></span>[[:zh:身份验证和安全]][[zh:身份验证和安全]] | ||
<span data-link_translate_de_title="Authentifizierung und Sicherheit" data-link_translate_de_url="Authentifizierung+und+Sicherheit"></span>[[:de:Authentifizierung und Sicherheit]][[de:Authentifizierung und Sicherheit]] | <span data-link_translate_de_title="Authentifizierung und Sicherheit" data-link_translate_de_url="Authentifizierung+und+Sicherheit"></span>[[:de:Authentifizierung und Sicherheit]][[de:Authentifizierung und Sicherheit]] | ||
<span data-link_translate_nl_title="Verificatie en beveiliging" data-link_translate_nl_url="Verificatie+en+beveiliging"></span>[[:nl:Verificatie en beveiliging]][[nl:Verificatie en beveiliging]] | <span data-link_translate_nl_title="Verificatie en beveiliging" data-link_translate_nl_url="Verificatie+en+beveiliging"></span>[[:nl:Verificatie en beveiliging]][[nl:Verificatie en beveiliging]] |
Wersja z 12:24, 18 lis 2015
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
ro:Autentificare și securitate
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