Diferenças entre edições de "Autenticação e segurança"

Fonte: Pt Ikoula wiki
Ir para navegação Ir para pesquisar
Linha 1: Linha 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é]]
 
<br />Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo [[:fr:Authentification et sécurité|aqui]].<br /><span data-translate="fr"></span><br />
 
<br />Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo [[:fr:Authentification et sécurité|aqui]].<br /><span data-translate="fr"></span><br />
 
<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_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:אבטחה ואימות]]

Revisão das 17h00min de 8 de fevereiro de 2017

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.

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


Introdução

Como autenticar o API Ikoula e condições de Segurança ?

Explicações

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

  • O ID é o endereço de e-mail usado para se conectar a sua conta de Ikoula ou para a extranet. O nome do parâmetro para passar é sempre login ;
  • A senha pode ser, é fornecida em texto não criptografado (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 Base64_encode ;
  • A assinatura é gerada com base nos parâmetros fornecidos ao chamar o API (Ver o processo de geração de assinatura ==> Génération de la signature).


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

ATENÇÃO :
A passagem da senha em texto não criptografado é fornecida para facilitar o manuseio da API e serve como uma depuração. Para os testes para a API, você pode, por exemplo, usar um usuário temporário dedicado a estes testes e autenticá-lo com a senha no clear (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 ambiente de produção ou o tribunal não-termo.
Se as chamadas de API estão destinadas a ser utilizados através de um script ou um programa, podemos recomendar a criação de um usuário dedicado para esta finalidade em vez de usar seu clássico de extranet usuário.
Você tem duas opções :

  • Entrar em contato com nosso suporte para a criação de um usuário da extranet ;
  • 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).

Attention à ne pas oublier de lui mettre les droits sur les prestations souhaitées.

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

Exemplos

Para este exemplo, o login 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.";

// ==> $password_crypt contient donc le mot de passe crypté

Conclusão

Uma vez que a senha criptografada e criptografado assinatura, podemos fazer a chamada de API com parâmetros (Se seguirmos o exemplo acima) :

  • login = ikoulasupport ;
  • crypted_password = base64_encode($password_crypt) ;
  • signature = assinatura gerada (Ver o processo de geração de assinatura ==> Génération de la signature).


NB : Não se esqueça de url_encoder cada parâmetro passado !



Este artigo parece útil para você ?

0

Catégorie:API



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