web-dev-qa-db-fra.com

Utilisation de l'encodage Base64 dans Angular 4

Je veux envoyer le nom d'utilisateur et le mot de passe au serveur en utilisant le codage Base64.

J'ai trouvé que je peux importer le module suivant en utilisant npm:

    npm install --save angular-base64

J'ai vérifié que le dossier suivant est créé dans mon projet foler: node_modules\angular-base64

Dans mon fichier component.js, j'ai essayé d'utiliser l'une des lignes suivantes pour importer le composant:

    import 'angular-base64/angular-base64'; 

Il ne se plaint pas de l'importation mais quand j'essaie d'utiliser la ligne suivante:

    headers.append('Authorization', 'Basic ' + base64.encode('username:temppass'));

Il dit "Impossible de trouver base64".

6
Naveed Kamran

Vous n'avez pas vraiment besoin d'une bibliothèque externe à cet effet.

La méthode WindowOrWorkerGlobalScope.btoa () crée une chaîne ASCII ASCII $ === codée à partir d'un objet String dans laquelle chaque caractère de la chaîne est traité comme un octet de données binaires.

Utilisez la fonction btoa() pour encoder:

console.log(btoa("username:temppass")); // dXNlcm5hbWU6dGVtcHBhc3M=

Pour décoder, vous pouvez utiliser la fonction atob() :

console.log(atob("dXNlcm5hbWU6dGVtcHBhc3M=")); // username:temppass

Voir la liste des navigateurs pris en charge ici

25
trungk18