SMSWithoutBorders Backend
c'est une API cloud et Service de gestion des utilisateurs. Il est directement configurable avec les bases de données MySQL pour la gestion des utilisateurs. Il fournit également des intégrations prêtes à l'emploi de Google OAuth-2.0, Twitter OAuth, des points de terminaison Telegram et de l'authentification de compte.
:::astuce Ce que vous apprendrez
- Comment configurer le Backend
- Comment tester et déployer avec docker
Le Backend s'intègre à ces services. vous devrez peut-être les configurer en fonction de la section sur laquelle vous travaillez.
:::
Table des matières
- SMSWithoutBorders Backend
- Table des matières
- Exigences
- Installation
- Setup
- Comment utiliser
- Environnement de développement de l'éditeur
- Démarrer à la fois l'API de gestion des utilisateurs backend et l'API de l'éditeur backend
- API SandBox
- Journaux API
Exigences
Installation
Toutes les dépendances d'exécution sont installées à l'aide de npm
npm install
Dépanner
Pour plusieurs raisons, les utilisateurs peuvent parfois rencontrer des difficultés lors de l'installation. Voici quelques conseils de dépannage
- Supprimez le répertoire
node_modules
et le fichierpackage-lock.json
. Réessayez l'installation.
rm -rf node_modules package-lock.json
Setup
Tous les fichiers de configuration se trouvent dans le config annuaire.
Les fichiers de configuration sont nommés en fonction de leur environment variables.
Configurations de l'environnement de développement
**default.json**est le fichier de configuration d'un environnement de développement.
Pour configurer les informations d'identification de la base de données, de l'API et de la plate-forme pour un environnement de développement, copiez les fichiers de modèle "example.default.json" et renommez-les en "default.json"
cp config/example.default.json config/default.json
Configurations de l'environnement de production
production.json est le fichier de configuration pour un environnement de production.
Pour configurer les informations d'identification de la base de données, de l'API et de la plate-forme pour un environnement de production, copiez les fichiers de modèle "example.production.json" et renommez-les en "production.jso
cp config/example.production.json config/production.json
Options de configuration
Ce sont les options pour chaque configuration file
serveur
Gère l'accès au Smswithoutborders pour centraliser les ressources et les services.
Base de données
- HOST : le nom d'hôte de la base de données à laquelle vous vous connectez. (Par défaut : hôte local)
- USER : l'utilisateur MySQL avec lequel s'authentifier. (Par défaut : racine)
- MOT DE PASSE : Le mot de passe de cet utilisateur MySQL.
- DATABASE : nom de la base de données à utiliser pour cette connexion (par défaut : Smswithoutborders)
API
-
PORT DE L'API DE GESTION DES UTILISATEURS : le numéro de port auquel se connecter. (Par défaut : 9000).
-
PUBLISHER API PORT : numéro de port auquel se connecter. (Par défaut : 10000).
-
KEY : La clé utilisée pour crypter les données d'un utilisateur. (Par défaut : "de4053831a43d62d9e68fc11319270a9").
-
SALT : le sel utilisé pour hacher les données d'un utilisateur. (Par défaut : "acaad78fd9dadcb056840c09073190a8").
-
SECURE SESSIONS : spécifie la valeur booléenne pour Secure Set-Cookie attribute. Lorsque truey, l'attribut Secure est défini, sinon, il ne l'est pas. Par défaut, l'attribut Secure sessions est défini sur truthy.
-
SESSION MAXAGE : Spécifie le nombre (en millisecondes) à utiliser lors du calcul de la Expires Set-Cookie attribute. Cela se fait en prenant l'heure actuelle du serveur et en ajoutant maxAge millisecondes à la valeur pour calculer une date/heure d'expiration. Par défaut, l'âge maximum est fixé à deux heures (7200000 ms).
-
ENABLE BLOCKING : spécifie la valeur booléenne pour l'échec du suivi de l'utilisateur authentication tentatives.
-
TENTATIVES DE BLOCAGE COURT : spécifie le nombre de tentatives authentication tentatives avant un bloc court. Plusieurs blocs courts donnent un bloc long.
-
LONG BLOCK ATTEMPTS : Spécifie le nombre de tentatives de blocage court infructueuses avant un blocage long.
-
DURÉE BLOC COURT : Spécifie la durée (en minutes) d'un bloc court.
-
DURÉE DE BLOC LONG : Spécifie la durée (en minutes) d'un bloc long.
OTP
Un utilisateur a quatre tentatives quotidiennes pour demander un code OTP
- ENABLE_OTP_BLOCKING : Spécifie la valeur booléenne pour activer/désactiver le suivi des demandes de code OTP.
- DURÉE PREMIÈRE RENVOI : spécifie la durée (en millisecondes) de la première requête OTP.
- SECOND RESEND DURATION : spécifie la durée (en millisecondes) de la deuxième requête OTP.
- THIRD RESEND DURATION : spécifie la durée (en millisecondes) de la troisième requête OTP.
- FOURTH RESEND DURATION : spécifie la durée (en millisecondes) de la quatrième requête OTP.
GATEWAY SERVER
c'est un cas d'utilisation du SMSWithoutBorders-Gateway-Server project.
- URL : L'URL du serveur de passerelle auquel vous vous connectez. (Par défaut : hôte local)
- PORT : le numéro de port auquel se connecter. (Par défaut : 6969)
ORIGINE
Configure l'en-tête Access-Control-Allow-Origin CORS. Valeurs possibles:
Array - définit origin sur un tableau d'origines valides. Chaque origine peut être une chaîne ou une RegExp. Par exemple ["http://example1.com", /.example2.com$/] acceptera toute demande de "http://example1.com" ou d'un sous-domaine de "example2.com". (Default: "localhost:18000")
SSL API
- API PORT : le numéro de port auquel se connecter.
- CERTIFICATE : Chemin d'accès à votre certificat SSL.
- KEY : Chemin d'accès à votre clé SSL.
- PEM : Chemin d'accès à votre PEM SSL.
CRÉDITS
Obtenir des identifiants depuis Google Cloud Platform Console
- ID CLIENT GOOGLE : Votre ID client Google.
- GOOGLE CLIENT SECRET : Votre secret client Google.
Obtenir des informations d'identification depuis Twitter Developers Portal
- CLÉ API TWITTER : Votre clé API Twitter
- TWITTER API KEY SECRET : votre clé API Twitter secrète
TELEGRAM Il s'agit d'un cas d'utilisation du projet SMSWithoutBorders-customplatform-Telegram.
- ** HÔTE DE DEMANDE DE TÉLÉGRAMME ** : L'URL du serveur de plate-forme personnalisée de télégramme auquel vous vous connectez.
RECAPTCHA
Acquérir la CLÉ de Google reCAPTCHA
- ENABLE RECAPTCHA : Spécifie la valeur booléenne pour activer/désactiver recaptcha.
- CLÉ SECRÈTE : Votre clé secrète Google reCAPTCHA
DÉVELOPPEUR
Gère l'accès aux ressources du développeur SMSsansfrontières.
- HOST : L'URL du serveur de développeurs auquel vous vous connectez. (Par défaut : hôte local)
- PORT : le numéro de port auquel se connecter. (Par défaut : 12000)
Comment utiliser
Démarrer l'API de gestion des utilisateurs backend
Gestion des utilisateurs Environnement de développement
- Avec le NPM
npm run start_main
- Avec Node
node controllers/sync_platforms.js && node server.js
Gestion des utilisateurs Environnement de production
- Avec le NPM
NODE_ENV=production npm run start_main
- Avec Node
NODE_ENV=production node controllers/sync_platforms.js && node server.js
Start Backend Publisher API
Publisher Development Environment
- Avec le NPM
npm run start_pub
- Avec Node
node controllers/sync_platforms.js && node server_pub.js
Publisher Production Environment
- Avec le NPM
NODE_ENV=production npm run start_pub
- Avec Node
NODE_ENV=production node controllers/sync_platforms.js && node server_pub.js
Start both Backend User management API and Backend Publisher API
Environnement de développement
- Avec NPM
npm run start
Environnement de production
- Avec le NPM
NODE_ENV=production npm start
API SandBox
http://localhost:{PORT}/v1/api-docs
http://localhost:{PORT}/v2/api-docs
Journaux d'API
Par défaut, les log levels sont définis sur "info". Vous pouvez modifier les log levels. Par exemple, Start both Backend User management API and Backend Publisher API with log levels défini sur "debug"
LOG_LEVEL=debug npm start
Tous les fichiers journaux se trouvent dans le répertoire des journaux. Read more ...