Authentifizierung und Sicherheit

Aus De Ikoula wiki
Jump to navigation Jump to search

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:אבטחה ואימות
Dieser Artikel wurde maschinell übersetzt. Sie können den Artikel Quelle hier ansehen.

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


Einführung

Die API Ikoula und Politiken der Authentifizierung Sicherheit ?

Erklärungen

Pour des raisons évidentes de Sicherheit, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une Unterschrift :

  • Die ID ist die e-Mail-Adresse verwendet, um Ihr Konto Ikoula verbinden oder auf das extranet. Der Name des Parameters übergeben wird immer Login ;
  • Das Kennwort, wie es sein kann, ist im Klartext angegeben (Parameter password), wird über eine spezielle Funktion, die mit einem öffentlichen Schlüssel zur Verfügung gestellt von Ikoula verschlüsselt (Parameter crypted_password) und Basis64_encode ;
  • Die Signatur wird generiert anhand der Parameter beim Aufruf der API zur Verfügung gestellt (sehen Sie die Signatur-Generierung ==> Génération de la signature).


Diese Einstellungen sollten immer in GET an der API übergeben werden !

AUFMERKSAMKEIT :
Im Laufe der das Passwort im Klartext ist zur leichteren Handhabung der API zur Verfügung gestellt und dient als ein Debug. Für Ihre Tests auf die API möglich, z. B. temporären User widmet sich diese Tests verwenden und Sie mit dem Passwort im Klartext zu authentifizieren (finden Sie im Wiki für die Erstellung von Sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).

Die Verwendung der Verschlüsselung des Kennworts mit dem öffentlichen Schlüssel Ikoula ist wichtig in einer Produktionsumgebung oder nicht-Gericht Begriff.
Wenn die API-Aufrufe dazu verurteilt sind, über ein Skript oder ein Programm verwendet werden, wir empfehlen zu diesem Zweck gewidmet Benutzer anlegen anstatt verwenden Ihr extranet Benutzer-Klassiker.
Sie haben zwei Möglichkeiten :

  • Kontaktieren Sie unseren Support für die Schaffung eines extranet-Benutzers ;
  • Erstellen einer Sous-Utilisateur direkt von der Homepage des Kontos extranet (Finden Sie im WIKI für die Erstellung von 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.

Public Key-Verschlüsselung des Kennworts ist verfügbar unter der folgenden Adresse
https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem

Beispiele

In diesem Beispiel werden die Anmeldung "ikoulasupport".
Um das Kennwort zu verschlüsseln, ist hier ein Beispiel für eine Funktion mit dem öffentlichen Schlüssel 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é

Fazit

Sobald das Passwort verschlüsselt und Signatur verschlüsselt, können wir den API-Aufruf mit Parametern (Wenn wir das obige Beispiel folgen) :

  • login = ikoulasupport ;
  • crypted_password = Basis64_encode($password_crypt) ;
  • signature = Signatur (sehen Sie die Signatur-Generierung ==> Génération de la signature).


NB : Vergessen Sie nicht, Url_encoder jeder Parameter übergeben !



Dieser Artikel scheint nützlich für Sie ?

0

Catégorie:API



Du bist nicht berechtigt Kommentare hinzuzufügen.