Uwierzytelniania i zabezpieczeń

Z Pl Ikoula wiki
Przejdź do nawigacji Przejdź do wyszukiwania
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

fr:Authentification et sécurité en:Authentication and security es:Autenticación y seguridad pt:Autenticação e segurança it:Autenticazione e protezione nl:Verificatie en beveiliging de:Authentifizierung und Sicherheit zh:身份验证和安全 ar:الأمان والمصادقة ja:認証とセキュリティ pl:Uwierzytelniania i zabezpieczeń ru:Проверка подлинности и безопасность ro:Autentificare și securitate he:אבטחה ואימות
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.