Uwierzytelniania i zabezpieczeń: Różnice pomiędzy wersjami

Z Pl Ikoula wiki
Przejdź do nawigacji Przejdź do wyszukiwania
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 ?

0



Nie możesz publikować komentarzy.