|
|
|
|
|
- Présentation
- Pré-requis et installation
- Pré-requis: installation d'un serveur HFSQL
- Installation du Serveur d'application WEBDEV
- Créer un identifiant OAuth via le serveur d'Authentification OAuth
- Lancement du site du Store Privé
- Création d'un identifiant OAuth 2.0
- Création des APIs pour Webservice
- Gestion des scopes
- Utiliser un identifiant OAuth 2.0 en WLangage
- Utilisation d'un token de type "Application"
- Utilisation d'un token de type "Utilisateur"
Serveur OAuth intégré dans le Serveur d'Application WEBDEV
Le protocole OAuth est un standard ouvert utilisé pour délivrer des autorisations sécurisées. Un serveur d'authentification OAuth gère les points suivants: - Authentification sécurisée,
- Gestion des autorisations,
- Emission des jetons d'accès et de leur rafraîchissement,
- Gestion des droits associés au jeton ("scope").
Un serveur d'authentification OAuth peut être hébergé sur un serveur physique de tout type: réseau local ("on premise"), hébergeur, cloud, etc. A partir de la version 2025, un serveur d'authentification OAuth est présent par défaut dans le Serveur d'Application WEBDEV (voir Les différents Serveurs d'application WEBDEV). Pour utiliser ce serveur d'authentification, il suffit d'activer la fonctionnalité de Serveur d'authentification OAuth lors de l'installation du Serveur d'Application WEBDEV. Ce serveur d'authentification peut être également utilisé pour l'authentification SSO. Pré-requis et installation Pré-requis: installation d'un serveur HFSQL Le programme d'installation du serveur HFSQL est disponible dans le package d'installation de WINDEV ou WINDEV Mobile. Si vous ne possédez pas ce package d'installation, l'installation du serveur HFSQL est également disponible sur le site de PC SOFT ( http://www.pcsoft.fr). Pour installer le serveur HFSQL depuis le package d'installation de WINDEV/WINDEV Mobile : - Lancez le programme d'installation de WINDEV/WINDEV Mobile.
- Choisissez l'option "Installation du serveur HFSQL".
- Sélectionnez ensuite l'option "Installer ou mettre à jour un serveur HFSQL".
- Acceptez la licence.
- Choisissez la plateforme (option "Pour Windows sur cette machine").
- Si des serveurs HFSQL sont déjà installés sur le poste en cours, choisissez l'option "Installer un nouveau serveur".
- Sélectionnez le répertoire d'installation et indiquez le nom du serveur et le port. Par défaut, le port utilisé est 4900.
- Indiquez le nom et le mot de passe de l'utilisateur ayant les droits d'administration qui sera créé par défaut sur le serveur HFSQL. Par défaut, cet utilisateur est "Admin" sans mot de passe.
- Installez si nécessaire le Centre de Contrôle HFSQL si celui-ci n'est pas présent ou accessible depuis votre poste.
- L'assistant propose de paramétrer l'envoi de notifications afin de connaître les dysfonctionnements du serveur en temps réel. Sélectionnez l'option voulue.
- L'assistant propose d'activer l'authentification par Active Directory. Activez cette option si nécessaire.
- Validez (ou non) la participation à l'amélioration du produit installé en autorisant la collecte d'informations relatives à l'utilisation du produit. Cette collecte, facultative et anonyme, permet à PC SOFT d'améliorer les fonctionnalités du produit.
- L'installation est effectuée. Par défaut (si vous n'avez pas modifié les caractéristiques de l'administrateur), pour se connecter au serveur en mode administrateur, il faut utiliser l'utilisateur "Admin" sans mot de passe.
Note : Pour des raisons évidentes de sécurité, pensez à changer le mot de passe de l'administrateur.
Installation du Serveur d'application WEBDEV Le serveur d'application WEBDEV permet d'installer les modules nécessaires au serveur d'Authentification OAuth. Pour installer le Serveur d'application WEBDEV: - Sélectionnez la langue d'installation du Serveur d'application WEBDEV et validez.
- Sélectionnez "Installer une version complète" et saisissez la clé d'activation. Passez à l'étape suivante de l'assistant.
- Acceptez la licence. Passez à l'étape suivante de l'assistant.
- Sélectionnez le répertoire d'installation ("C:\WEBDEV" par défaut).
- Sélectionnez le mode de fonctionnement du Serveur d'application WEBDEV:
- L'option "Serveur autonome" permet de réaliser l'installation classique du Serveur d'application WEBDEV.
- L'option "Cluster" permet installer un cluster de serveurs WEBDEV.
Sélectionnez "Serveur autonome" et passez à l'étape suivante de l'assistant. - Cette étape permet de spécifier le répertoire racine pour le déploiement des sites et des Webservices. Conservez le chemin indiqué par défaut et passez à l'étape suivante.
- Si le Serveur d'Application WEBDEV n'a jamais été installé sur le poste, indiquez les paramètres d'un compte Windows qui sera utilisé comme administrateur WEBDEV. Ce compte sera également appelé "Compte d'hébergement".
Il est possible de créer un nouveau compte Windows ou d'utiliser un compte Windows existant. Sélectionnez l'option de votre choix et passez à l'étape suivante. - Si une version précédente du Serveur d'Application WEBDEV a été installée sur le poste, l'assistant permet:
- de définir la gestion des sites et webservices des versions antérieures. Conservez l'option "Conserver les sites dans leurs versions actuelles" et passez à l'étape suivante.
- d'importer les comptes WEBDEV. Conservez l'option "Ne pas importer de comptes existants" et passez à l'étape suivante. Indiquez le login et le mot de passe d'un compte Windows qui sera utilisé comme administrateur WEBDEV. Ce compte sera également appelé "Compte d'hébergement".
Il est possible de créer un nouveau compte Windows ou d'utiliser un compte Windows existant. Sélectionnez l'option de votre choix et passez à l'étape suivante.
- Cette étape permet d'activer ou non les sites d'administration à distance:
- Site d'administration du serveur d'application WEBDEV.
- Site d'administration HFSQL.
- L'étape suivante permet de gérer l'hébergement de sites SaaS. L'activation du SaaS installe automatiquement un site et un Webservice pour administrer vos sites SaaS. Pour plus de détails, consultez SaaS. Validez cette étape.
- Les étapes suivantes permettent d'activer certaines fonctionnalités du Serveur d'application WEBDEV: Réplication et télémétrie. Cette activation peut être effectuée a posteriori via l'administrateur du Serveur d'application WEBDEV.
Dans notre cas, ce serveur n'est pas nécessaire. Conservez l'option par défaut. - L'étape suivante permet d'activer les services BaaS: gestion des utilisateurs, authentification et Store Privé.
Dans notre cas, sélectionnez l'option "Activer BaaS". Passez à l'étape suivante. - Spécifiez les caractéristiques du serveur HFSQL utilisé pour le service BaaS.
Remarque: Ce serveur HFSQL a été installé précédemment. Ces caractéristiques sont les suivantes: - Nom du serveur HFSQL,
- Port.
- Nom et mot de passe de l'administrateur du Serveur HFSQL. Ces informations sont nécessaires pour configurer automatiquement la base de données WDBaaS et l'utilisateur associé.
- Testez la connexion pour vérifier vos paramètres (bouton "Tester la connexion").
- Indiquez les paramètres spécifiques à la base de données WDBaaS utilisée par le groupware utilisateur/Store Privé/Authentification OAuth:
- le nom de la base de données dédiée: WDBAAS par défaut.
- le nom de l'utilisateur de cette base et son mot de passe.
- Indiquez le mot de passe des tables WDBaaS utilisées (existantes ou à créer).
- Indiquez le mot de passe de l'administrateur du site WDBaaS (l'utilisateur est "Admin").
- Cette base de données et son utilisateur vont être automatiquement créés.
- Passez à l'étape suivante.
- Cette étape permet d'activer l'accès aux bases tierces.
Dans notre cas, cet accès n'est pas nécessaire. Conservez l'option par défaut. - Spécifiez si une connexion SSL doit être utilisée pour les sites d'administration à distance.
- Dans l'étape suivante, indiquez si le pilote ODBC doit être installé.
- L'étape suivante permet d'activer ou non des paramètres avancés.
- Passez à l'étape suivante.
- Le résumé des informations d'installation est affiché.
- Passez à l'étape suivante.
- L'assistant vérifie si un serveur Web est présent sur le poste d'installation.
- Si aucun serveur Web n'est installé sur le poste d'installation, l'assistant propose d'en installer un et de le configurer pour utiliser le serveur d'application WEBDEV.
- Si un serveur Web est présent sur le poste d'installation, l'assistant le configure pour utiliser le serveur d'application WEBDEV.
- A la fin de l'installation, l'assistant affiche un récapitulatif de ce type:
Token de connexion au serveur WDBaaS à fournir à l'environnement de développement: WDXxxxxxxxxxxxxxxxxxxxxx
Compte HFSQL à utiliser pour que le site et le webservice WDBaas accèdent au serveur HFSQL: - Serveur: xxx - Base de données: xxx - Utilisateur xxx - Mot de passe: xxx
Le mot de passe des fichiers est: xxx
Le mot de passe de l'administrateur du site WDBaaS (Utilisateur: xxx) est: xxxx Copiez et conservez ces informations. Le token de connexion au serveur WDBaaS doit être utilisé: - dans la fenêtre de paramétrage du groupware utilisateur de votre projet WINDEV.
- dans la fenêtre de paramétrage du groupware utilisateur/Store Privé dans votre projet WINDEV Mobile.
- dans la fenêtre de paramétrage du groupware utilisateur de votre projet WEBDEV.
- Terminez l'assistant. Vous pouvez directement lancer le site WDBaaS d'administration du Store Privé.
Avertissement
Même si vous utilisez uniquement la fonctionnalité OAuth, il est recommandé de conserver l'ensemble de ces informations. Elles seront nécessaires en cas d'utilisation du Store Privé.
Créer un identifiant OAuth via le serveur d'Authentification OAuth Lancement du site du Store Privé Pour configurer un identifiant OAuth, il est nécessaire d'utiliser le site du Store Privé: - Lancez le Store Privé: http(s)://Nommachine/WDBAAS.
Avertissement
Il est nécessaire de lancer le Store Privé en spécifiant le nom de la machine (ou son adresse IP) et non "localhost".
- Cliquez sur "Connexion".
- Saisissez le login et le mot de passe du compte de l'administrateur WDBAAS. Ces informations ont été fournies à la fin de l'installation du Serveur d'application WEBDEV.
- Cliquez sur le bouton "Administration".
- Cliquez sur l'onglet "Serveur OAuth 2.0".
La page affichée permet de créer un identifiant OAuth 2.0 et / ou des API pour webservices. Remarque: Il est également possible de lancer directement le paramétrage OAuth en utilisant l'adresse: http(s)://Nommachine/wdbaas?OAUTH Création d'un identifiant OAuth 2.0 Pour créer un identifiant OAuth 2.0: - Cliquez sur le lien "Créer votre premier identifiant OAuth 2.0" (ou sur le bouton "Ajouter un identifiant" présent dans l'onglet "Identifiants OAuth 2.0" si des identifiants ont déjà été créés).
- La page de configuration du nouvel identifiant OAuth 2.0 s'affiche. Cette page comporte 2 onglets:
- Options générales: Permet de définir les paramètres de l'identifiant à créer.
- Page de connexion: Permet de définir la page de connexion appelée lors de l'identification (dans le cas d'un token "Utilisateur").
Par défaut, le token créé est un "Token utilisateur". Il est possible de le transformer en "Token d'application". - Dans l'onglet "Options générales", les caractéristiques de l'identifiant sont automatiquement générées: Client ID, Client Secret et date de création.
- Complétez les informations concernant l'identifiant:
- Nom de l'identifiant. Ce nom simplifiera sa recherche dans la liste des identifiants.
- Autorisation de connexion. Si l'identifiant est actif, il sera utilisable en test et en production
- Une ou plusieurs URL de redirection. Par défaut: http://localhost:9874
- Durée de vie du token (10 jours par défaut).
- Description littérale (optionnelle).
- Indiquez si le token créé est un token utilisateur ou un token d'application.
Dans le cas d'un token utilisateur, il est possible de définir la page de connexion. - Indiquez si le SSO est disponible pour cet identifiant.
- Copiez les informations Client ID et Client Secret car elles seront demandées dans l'application cliente lors de la demande d'un token.
- Cliquez sur "Enregistrer" pour valider la création de l'identifiant. Une page récapitulative apparaît avec les différentes URL nécessaires pour demander un token depuis l'application cliente.
Création des APIs pour Webservice Il est possible d'associer un identifiant OAuth à une API REST. L'accès à une API REST sera autorisé en indiquant un token. Seul un token valide permettra d'accéder à l'API. Pour définir des API pour Webservice: - Cliquez sur le lien "Créer votre première API pour Webservices" (ou sur le bouton "Ajouter une API" présent dans l'onglet "APIs pour Webservices" si des APIs ont déjà été créés).
- Saisissez les différentes informations correspondant au point d'entrée de l'API:
- Nom
- URL de l'API,
- Description (optionnelle).
- Ajoutez les permissions (scope) nécessaires.
Remarque: Les" scopes" sont décrits dans les APIs. Ils permettent notamment de filtrer les fonctionnalités en fonction de l'identifiant. - Cliquez sur "Enregistrer" pour valider la création de l'API.
- Cliquez sur l'onglet "Identifiants OAuth 2.0".
- Editez l'identifiant OAuth 2.0 à associer à l'API.
- Cliquez sur l'onglet "APIs".
- Cochez les APIs auxquelles l'application cliente aura le droit d'accéder.
- Cliquez sur "Enregistrer".
Gestion des scopes Les "scopes" (également appelés "Permission" ou "Champ d'application") correspondent à un mécanisme d'OAuth 2.0 permettant de limiter l'accès d'une application au compte d'un utilisateur. Une application peut demander un ou plusieurs "scopes". Ces informations sont présentées à l'utilisateur dans un écran de consentement et le jeton d'accès délivré à l'application sera limité aux permissions accordées. Par défaut, lors d'une connexion via OpenID, les scopes supportés sont: - "openid": permet de vérifier l'identité de l'utilisateur.
- "profile": permet d'obtenir le nom de l'utilisateur.
- "email": permettant de connaître l'adresse email de l'utilisateur.
Ces scopes sont connus via la fonction OpenIDLitIdentité. Il est possible d'ajouter des scopes. Il est possible de spécifier les scopes à utiliser via la propriété Scope des variables de type OpenIDParamètres et OAuth2Paramètres. La valeur de ces scopes peut être connue via la propriété "Source" de la variable de type OpenIDIdentité: il suffit de rechercher la valeur dans le JSON correspondant. Utiliser un identifiant OAuth 2.0 en WLangage Rappel: le volet "Serveur OAuth 2.0" affiche les différents URL à utiliser pour utiliser les tokens via une authentification OpenID ou via OAuth. Utilisation d'un token de type "Application" Cet exemple permet d'utiliser un token de type "Application", sans saisie de login et / ou mot de passe d'authentification. Le code WLangage est le suivant:
AuthParam est un OAuth2Paramètres
tok est un AuthToken
AuthParam.ClientID = "b18b7850-8f4a-4d2a-9ee2-309876b36ba6"
AuthParam.ClientSecret = "4b3e99d8-b736-430e-a780-cb1586927e2d"
AuthParam.URLAuth = "http://doc-7/oauth2/v1/authorize"
AuthParam.URLToken = "http://doc-7/oauth2/v1/token"
AuthParam.URLRedirection = "http://localhost:9874"
AuthParam.TypeAutorisation = taApplicationCliente
tok = AuthIdentifie(AuthParam)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SINON
Info(tok.Valeur, tok.DateExpiration)
FIN
Utilisation d'un token de type "Utilisateur" Cet exemple permet d'utiliser un token de type "Utilisateur" avec une page de connexion et la saisie d'un login et mot de passe d'authentification. Le code WLangage est le suivant:
AuthParam est un OAuth2Paramètres
tok est un AuthToken
AuthParam.ClientID = "b18b7850-8f4a-4d2a-9ee2-309876b36ba6"
AuthParam.ClientSecret = "4b3e99d8-b736-430e-a780-cb1586927e2d"
AuthParam.URLAuth = "http://doc-7/oauth2/v1/authorize"
AuthParam.URLToken = "http://doc-7/oauth2/v1/token"
AuthParam.URLRedirection = "http://localhost:9874"
tok = AuthIdentifie(AuthParam)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SINON
Info("Valeur token " + tok.Valeur, "Date expiration " + tok.DateExpiration)
MonIdentité est une OpenIDIdentité = OpenIDLitIdentité(tok)
SI MonIdentité.Valide ALORS
Trace("Mail: " + MonIdentité.Email)
Trace("Nom: " + MonIdentité.Nom)
Trace("Prénom: " + MonIdentité.Prénom)
FIN
FIN
Il est également possible de passer par une variable de type OpenIDParamètres. Le code devient: openidParam est un OpenIDParamètres
openidParam.ClientID = "8351ea5f-19b6-4789-87ea-6ba01a3dffd2"
openidParam.ClientSecret = "597fcab9-f76d-4555-abdb-06adcfeaf7d8"
openidParam.URLConfiguration = "http://doc-7/.well-known/openid-configuration"
openidParam.URLRedirection = "http://localhost:9874"
openidParam.TypeAutorisation = taCodeAutorisation
tok = AuthIdentifie(openidParam)
SI ErreurDétectée ALORS
Erreur(ErreurInfo())
SINON
Info(tok.Valeur, tok.DateExpiration)
FIN
IMPORTANT: Le compte "Login / mot de passe" DOIT avoir obligatoirement une adresse email associée.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|