Uwierzytelniania i zabezpieczeń

Z Pl Ikoula wiki
Przejdź do nawigacji Przejdź do wyszukiwania


Artykuł ten jest wynikiem translacji automatycznej wykonywane przez oprogramowanie. Możesz przeglądać źródła artykułu tutaj.

fr:Authentification et sécurité 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 ?

0

Catégorie:API



Nie możesz publikować komentarzy.