Différences entre versions de « Authentification et sécurité »

De Ikoula Wiki
Jump to navigation Jump to search
(Page créée avec « <!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin --> ==Introduction== Comment s'authentifier à... »)
 
 
(31 versions intermédiaires par 9 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
<span data-link_translate_fr_title="Authentification et sécurité"  data-link_translate_fr_url="Authentification et sécurité"></span>[[:fr:Authentification et sécurité]][[fr:Authentification et sécurité]]
 +
<span data-link_translate_he_title="אבטחה ואימות"  data-link_translate_he_url="%D7%90%D7%91%D7%98%D7%97%D7%94+%D7%95%D7%90%D7%99%D7%9E%D7%95%D7%AA"></span>[[:he:אבטחה ואימות]][[he:אבטחה ואימות]]
 +
<span data-link_translate_ro_title="Autentificare și securitate"  data-link_translate_ro_url="Autentificare+%C8%99i+securitate"></span>[[:ro:Autentificare și securitate]][[ro:Autentificare și securitate]]
 +
<span data-link_translate_ru_title="Проверка подлинности и безопасность"  data-link_translate_ru_url="%D0%9F%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0+%D0%BF%D0%BE%D0%B4%D0%BB%D0%B8%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D0%B8+%D0%B8+%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D1%8C"></span>[[:ru:Проверка подлинности и безопасность]][[ru:Проверка подлинности и безопасность]]
 +
<span data-link_translate_pl_title="Uwierzytelniania i zabezpieczeń"  data-link_translate_pl_url="Uwierzytelniania+i+zabezpiecze%C5%84"></span>[[:pl:Uwierzytelniania i zabezpieczeń]][[pl:Uwierzytelniania i zabezpieczeń]]
 +
<span data-link_translate_ja_title="認証とセキュリティ"  data-link_translate_ja_url="%E8%AA%8D%E8%A8%BC%E3%81%A8%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3"></span>[[:ja:認証とセキュリティ]][[ja:認証とセキュリティ]]
 +
<span data-link_translate_ar_title="الأمان والمصادقة"  data-link_translate_ar_url="%D8%A7%D9%84%D8%A3%D9%85%D8%A7%D9%86+%D9%88%D8%A7%D9%84%D9%85%D8%B5%D8%A7%D8%AF%D9%82%D8%A9"></span>[[:ar:الأمان والمصادقة]][[ar:الأمان والمصادقة]]
 +
<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_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_it_title="Autenticazione e protezione"  data-link_translate_it_url="Autenticazione+e+protezione"></span>[[:it:Autenticazione e protezione]][[it:Autenticazione e protezione]]
 +
<span data-link_translate_pt_title="Autenticação e segurança"  data-link_translate_pt_url="Autentica%C3%A7%C3%A3o+e+seguran%C3%A7a"></span>[[:pt:Autenticação e segurança]][[pt:Autenticação e segurança]]
 +
<span data-link_translate_es_title="Autenticación y seguridad"  data-link_translate_es_url="Autenticaci%C3%B3n+y+seguridad"></span>[[:es:Autenticación y seguridad]][[es:Autenticación y seguridad]]
 +
<span data-link_translate_en_title="Authentication and security"  data-link_translate_en_url="Authentication+and+security"></span>[[:en:Authentication and security]][[en:Authentication and security]]
 
<!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin -->
 
<!-- Début de l'article. Placez votre texte ci-après et n'hésitez pas à personnaliser les chapitres selon votre besoin -->
  
==Introduction==
+
{{#seo:
Comment s'authentifier à l'API Ikoula et les politique de sécurité
+
|title=Authentification et sécurité
 
+
|title_mode=append
==Explications==
+
|keywords=these,are,your,keywords
Pour des raisons évidentes de sécurité, l'API Ikoula exige une authentification. Celle-ci est basée sur un identifiant, un mot de passe et une signature :<br />
+
|description=Découvrez dans cet article à quoi correspond l'authentification à l'API Ikoula et quelles en sont les politiques de sécurité.
* L'identifiant est l'adresse mail utilisée pour la connexion à votre compte Ikoula ou à l'extranet. Le nom du paramètre pour le transmettre est toujours '''login'''.
+
|image=Uploaded_file.png
* Le mot de passe quant à lui peut être fourni en texte clair (paramètre '''password''') ou chiffré via une fonction spécifique utilisant une clé publique fournie par Ikoula (paramètre '''crypted_password''')
+
|image_alt=Wiki Logo
* La signature est générée en fonction des paramètres fournis lors de l'appel à l'API (voir la procédure de génération de la signature ==> [[Génération_de_la_signature|Génération de la signature]])
+
}}
<br />ATTENTION:<br />
 
Le passage du mot de passe en texte clair est fourni pour faciliter la prise en main de l'API et fait office de debug. Pour vos tests de l'API, vous pouvez par exemple utiliser un utilisateur temporaire dédié à ces tests et vous authentifier avec son mot de passe en clair (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html).<br /><br />
 
L'utilisation du chiffrement de mot de passe avec la clé publique Ikoula est indispensable dans tout contexte de production ou non-court terme.<br />
 
Si les appels API sont voués à être utilisés via un script ou un programme, nous vous recommandons la création d'un utilisateur dédié à cet effet plutôt que d'utiliser votre utilisateur extranet classique.<br />
 
Deux possibilités s'offrent à vous :<br />
 
* Contacter notre support pour la création d'un utilisateur extranet
 
* Créer un sous-utilisateur directement depuis la page d'accueil de votre compte extranet (Voir le WIKI ci-après pour la création de sous-utilisateur: https://support.ikoula.com/index-1-2-2835.html) en n'oubliant surtout pas '''de lui mettre les droits sur les prestations souhaitées'''.
 
<br /><br />
 
;La clé publique de chiffrement du mot de passe est disponible à l'adresse suivante:
 
: https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem
 
 
 
==Exemples==
 
Pour cet exemple, le login sera "ikoulasupport".<br />
 
Pour crypter le mot de passe, voici un exemple de fonction utilisant la clé publique iKoula :<br /><br />
 
<syntaxhighlight lang="php">
 
// 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é
 
</syntaxhighlight>
 
 
 
==Conclusion==
 
Une fois le mot de passe crypté et la signature cryptée, on peut donc faire l'appel API avec comme paramètres (si on suit l'exemple ci-dessus) :<br />
 
* login = ikoulasupport
 
* crypted_password = $password_crypt
 
* signature = signature générée (voir la procédure de génération de la signature ==> [[Génération_de_la_signature|Génération de la signature]])
 
 
 
<!-- Fin de l'article -->
 
<br /><br />
 
Cet article vous a semblé utile ? <vote />
 
<!-- Placez ici la catégorie à laquelle se rapporte votre article. Ex: [[Categorie:Contribuer]] -->
 
[[Categorie:API]]
 
 
 
<!-- Gestion SEO. Indiquez les informations manquantes -->
 
  
 +
#REDIRECT [[Comment_utiliser_l'API_d’Ikoula]]

Version actuelle datée du 22 février 2021 à 17:52