Une des nouveauté majeure de la version 2025 est la fourniture avec le serveur d'application WEBDEV, d'un serveur d'authentification OAuth. Pour tester votre première connexion OAuth, depuis une plateforme PCSCloud, voici les manipulations à réaliser :
1 – Créer un identifiant OAuth :
Pour configurer le serveur OAuth, il faut utiliser le site WDBaas (https://nomplateforme.pcscloud.net/WDBAAS) qui sert déjà pour le Store Privé. Une fois connecté, le login/mot de passe par défaut de l'administrateur est Admin/Admin, il faut utiliser le volet "Serveur OAuth 2.0". Dans ce volet, il suffit de créer un nouvel identifiant en lui donnant un nom, il s'agit généralement du nom de l'application ou du service qui va utiliser cet identifiant.
2 – Créer un utilisateur dans la base de WDBaas :
Lors de la connexion au serveur Oauth, celui-ci va demander un login et un mot de passe utilisateur pour valider la connexion. Il faut donc créer un utilisateur et renseigner les informations de cet utilisateur. Il est possible d'autoriser les utilisateurs à créer leur compte eux-même. Il faut le spécifier dans les options (volet Options) de la base WDBaas. Dans la page de connexion, il y aura un lien pour créer un compte.
3 - Ecrire le code de connexion
Le plus simple est d'utiliser une variable de type OpenIDParamètres et l'URL fournie dans la page de configuration du serveur OAuth.
Le code sera le suivant :
TestAuth est un OpenIDParamètres TestAuth.ClientID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" TestAuth.ClientSecret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" TestAuth.URLRedirection = "http://localhost:9874"
TestAuth.Scope = "email profile openid"
TestAuth.URLConfiguration = "https://xxxx.pcscloud.net/.well-known/openid-configuration"
Cns est un AuthToken = AuthIdentifie(TestAuth)
SI Cns..Valide = Faux ALORS FinProgramme("Utilisateur inconnu, l'application va être fermée") FIN
identite est un OpenIDIdentité = OpenIDLitIdentité(Cns)
InfoConstruit("Bienvenue %1 %2, vous êtes connecté !", Identité.Prénom, Identité.Nom)
Identité contient les informations demandées par le scope, et vous avez ainsi accès à ces informations dans l'application ou le site. L'intérêt de ce type de connexion est d'obtenir ces informations sans connaître le mot de passe de l'utilisateur, puisque c'est lui qui a saisit son mot de passe sur le site du serveur OAuth.
|