Autenticação e segurança

Fonte: Pt Ikoula wiki
Revisão em 12h23min de 18 de novembro de 2015 por Ikbot (discussão | contribs)
Ir para navegação Ir para pesquisar

ru:Проверка подлинности и безопасность ja:認証とセキュリティ ar:الأمان والمصادقة zh:身份验证和安全 ro:Autentificare și securitate pl:Uwierzytelniania i zabezpieczeń de:Authentifizierung und Sicherheit nl:Verificatie en beveiliging it:Autenticazione e protezione es:Autenticación y seguridad en:Authentication and security fr:Authentification et sécurité

Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo aqui.




Introdução

Como autenticar as políticas de segurança e API Ikoula ?

Explicações

Por razões óbvias de segurança, a API de Ikoula requer autenticação. É Base ado em um nome de usuário, uma senha e uma assinatura :

  • O ID é o endereço de email usado para a conexão com sua conta Ikoula ou extranet. O nome do parâmetro para passar é sempre login.
  • A senha pode ser, é fornecida em texto sem formatação (parâmetro password), é encriptado através de uma função específica usando uma chave pública fornecida pelo Ikoula (parâmetro crypted_password) e Base 64_encode
  • A assinatura é gerada com Base nos parâmetros fornecidos ao chamar o API (consulte o procedimento de geração de assinatura ==> A geração de assinatura)


Essas configurações sempre devem ser passadas para a API !

ATENÇÃO :
A passagem da senha em texto não criptografado é fornecida para facilitar a aderência da API e serve como depurar. Para o seu teste da API, você pode por exemplo usar um usuário temporário dedicado a estes testes e autenticá-lo com a senha de texto sem formatação (Consulte o WIKI para a criação de sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html).

O uso de criptografia de senha com a chave pública Ikoula é essencial em qualquer contexto de produção ou Tribunal não-termo.
Se as chamadas de API estão destinadas a ser utilizados através de um script ou um programa, é recomendável criar um usuário dedicado para esta finalidade, em vez de usar seu usuário regular de extranet.
Duas opções estão disponíveis para você :

  • Entre em contato com nosso suporte para a criação de uma extranet usuário
  • Criar um sous-utilisateur diretamente da página inicial da sua conta extranet (Consulte o WIKI para a criação de sous-utilisateur : https://support.ikoula.com/index-1-2-2835.html) especialmente não esquecendo colocar os direitos desejado benefícios .



A chave pública de criptografia de senha está disponível no seguinte endereço
https://api.ikoula.com/downloads/Ikoula.API.RSAKeyPub.pem

Exemplos

Para este exemplo, o logon será "ikoulasupport ".
Para criptografar a senha, aqui está um exemplo de uma função usando a chave pública 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é

Conclusão

Uma vez que a senha criptografada e assinatura criptografada, assim pode ser a chamada de API com como parâmetros (Se seguirmos o exemplo acima ) :

  • login = ikoulasupport
  • crypted_password = Base 64_encode ($password_crypt )
  • assinatura = assinatura générée (consulte o procedimento de geração de assinatura ==> A geração de assinatura)


NB : N'oubliez pas d'url_encode r chaque parâmetro passé !



Este artigo pareceu-lhe ser útil ?

0



Não tem permissão para colocar comentários.