Français
  • Idp
  • apache answer
  • communauté

Logto en action : Intégrez facilement Apache Answer pour lancer une communauté pour vos utilisateurs

Démontre comment exploiter la fonctionnalité d'application tierce de Logto pour intégrer Apache Answer, créant ainsi une plateforme communautaire unifiée où les utilisateurs peuvent accéder sans problème à un support en utilisant leurs comptes existants.

Yijun
Yijun
Developer

Arrêtez de perdre des semaines sur l'authentification des utilisateurs
Lancez des applications sécurisées plus rapidement avec Logto. Intégrez l'authentification des utilisateurs en quelques minutes et concentrez-vous sur votre produit principal.
Commencer
Product screenshot

Créer un excellent produit logiciel est une réussite significative, mais c'est vraiment juste le début du voyage.

Le succès à long terme et l'évolution de toute application dépendent fortement de la compréhension et de l'engagement avec ses utilisateurs, ce qui implique de recueillir des retours, d'identifier les points faibles, de répondre aux questions et de résoudre les problèmes —— un cycle clé qui stimule l'itération et l'amélioration.

Dans cet article, je vais :

  • Expliquer comment fonctionne la fonctionnalité d'application tierce (OIDC) de Logto.
  • Vous montrer comment utiliser Logto pour intégrer Apache Answer afin de construire une communauté pour vos utilisateurs, leur permettant de poser des questions, partager des idées et obtenir de l'aide de votre équipe et d'autres utilisateurs.

L'atout principal de l'utilisation de Logto est que les utilisateurs se connectent à la communauté avec le même compte que dans votre propre système. Cela vous permet de connaître facilement l'état actuel des utilisateurs posant des questions, éliminant le besoin de multiples échanges de va-et-vient pour s'enquérir de leur situation dans votre logiciel.

Qu'est-ce qu'Apache Answer

apache-answer.png

Apache Answer est une plateforme de questions-réponses open-source qui connecte utilisateurs et équipes. Elle crée un espace pour partager des connaissances et résoudre des problèmes ensemble. La plateforme propose une prévisualisation Markdown en temps réel, une recherche avancée et un système de vote pour le contenu.

La plateforme prend en charge la connexion OAuth 2.0 par défaut. Cela la rend naturellement compatible avec les fournisseurs d'identité existants comme Logto. Les utilisateurs peuvent se connecter avec leurs comptes existants sans créer de nouveaux identifiants spécifiquement pour la plate-forme communautaire.

Comprendre la fonctionnalité d'application tierce de Logto

Quand nous voulons que les utilisateurs se connectent à des applications tierces en utilisant leurs comptes Logto, Logto agit comme le fournisseur d'identité (IdP) de votre application.

Considérez-le comme une autorité centrale responsable de vérifier qui sont vos utilisateurs. Lorsqu'un utilisateur se connecte à votre application principale, elle le redirige probablement vers Logto pour gérer le processus d'authentification (nom d'utilisateur/mot de passe, connexion sociale, etc.). Une fois que Logto vérifie avec succès l'utilisateur, il informe votre application : "Oui, cet utilisateur est légitime," et fournit quelques informations de base à son sujet.

Ce concept va au-delà de votre application principale. Logto comprend une fonctionnalité puissante —— Application tierce. Cette fonction permet à Logto de jouer son rôle d'IdP non seulement pour votre propre application, mais pour d'autres applications externes auxquelles vous souhaitez que vos utilisateurs accèdent.

Il y parvient en utilisant OpenID Connect (OIDC), qui est une couche d'identité standard construite au-dessus du protocole OAuth 2.0. En termes simples, OIDC permet à une application (comme Apache Answer, connue sous le nom de partie confiante ou Client) de demander et de recevoir des informations sur l'identité d'un utilisateur d'un IdP (Logto).

Lorsque vous configurez une application OIDC dans Logto pour Apache Answer, vous dites essentiellement à Logto : "Soyez prêt à authentifier les utilisateurs au nom d'Apache Answer si elle le demande, et si l'utilisateur approuve, envoyez de manière sécurisée à Answer certaines informations d'identité utilisateur de base." Cette capacité est la clé pour déverrouiller une connexion unique (SSO) transparente entre votre application authentifiée par Logto et des outils tiers comme Apache Answer.

Mise en scène : YourApp + Logto + Apache Answer

Avant de plonger dans la configuration, clarifions les composants impliqués dans notre scénario :

  1. YourApp : Il s'agit de votre application Web ou mobile principale où les utilisateurs s'inscrivent déjà et se connectent. Essentiellement, YourApp est intégré à Logto pour l'authentification.
  2. Logto : Votre plateforme IAM centrale, agissant en tant qu'IdP. Vos utilisateurs ont des comptes gérés par Logto.
  3. Apache Answer : La plateforme Q&A open-source que vous souhaitez déployer comme hub communautaire pour les utilisateurs de YourApp. Notre objectif est de configurer Answer pour utiliser Logto pour la connexion, au lieu de son propre système de nom d'utilisateur/mot de passe local.

Étapes pratiques : Configurer Logto et Apache Answer

Entrons maintenant dans la pratique. Le processus implique une configuration dans Logto et Apache Answer.

Installer Apache Answer

Suivez le guide d'installation officiel pour installer Apache Answer. Et enfin, vous pourrez y accéder à http://localhost:9080 par défaut.

Créer une application OIDC dans Logto

  1. Connectez-vous à votre Console Logto.
  2. Accédez à la page des applications.
  3. Cliquez sur le bouton "Créer une application" dans le coin supérieur droit de la page (si vous ne voyez pas ce bouton, cliquez sur "afficher tout" en bas de la liste des cadres).
  4. Sélectionnez la catégorie "Application tierce", puis choisissez "OIDC".
  5. Entrez le nom de l'application (par exemple, "Communauté Apache Answer") et la description (facultatif).
  6. Cliquez sur "Créer" pour terminer la création. Après la création de l'application, vous serez redirigé vers la page des détails de l'application.
  7. Sur la page des détails, ajoutez http://localhost:9080/answer/api/v1/connector/redirect/basic au champ URI de redirection.
  8. Cliquez sur "Enregistrer" pour enregistrer l'application.

Configurer les autorisations pour Apache Answer

  1. Sur la page des détails de l'application, accédez à l'onglet Autorisations.
  2. Sous Accorder des autorisations de données utilisateur, vous verrez un message indiquant "Vous n'avez encore configuré aucune autorisation de données utilisateur."
  3. Cliquez sur le bouton Ajouter pour configurer les informations utilisateur auxquelles Apache Answer peut accéder.
  4. Sélectionnez les portées nécessaires (profile et email) pour permettre à Apache Answer de recevoir des informations utilisateur de base lors de la connexion.
  5. Enregistrez vos paramètres d'autorisation.

logto-grant-permissions.png

Configurer la connexion OAuth dans Apache Answer

  1. Connectez-vous à votre compte administrateur Apache Answer.
  2. Visitez le tableau de bord Admin à http://localhost:9080/admin.
  3. Accédez à Plugins -> Plugins installés et activez le plugin OAuth2 Basic.
  4. Accédez à la page du plugin OAuth2 Basic.
  5. Remplissez les informations suivantes selon l'application tierce Logto que vous venez de créer :
    • Nom : Nom de votre connecteur qui sera affiché sur la page de connexion
    • ID client : L'"ID de l'application" de la page des détails de l'application.
    • Secret client : Le "Secret de l'application" de la section "Points de terminaison et identifiants" de la page des détails.
    • URL d'autorisation : Le "Point de terminaison d'autorisation" de la section "Points de terminaison et identifiants" de la page des détails.
    • URL de jeton : Le "Point de terminaison de jeton" de la section "Points de terminaison et identifiants" de la page des détails.
    • URL JSON utilisateur : Le "Point de terminaison des informations utilisateur" de la section "Points de terminaison et identifiants" de la page des détails.
    • Chemin JSON de l'identifiant utilisateur : sub.
    • Chemin JSON du nom d'affichage de l'utilisateur : name.
    • Chemin JSON du nom d'utilisateur : username.
    • Chemin JSON de l'e-mail utilisateur : email.
    • Chemin JSON de l'avatar utilisateur : picture.
    • Chemin JSON de vérification de l'e-mail utilisateur : email_verified.
    • Portées : openid,profile,email.
  6. Enregistrez la configuration du plugin dans Apache Answer.

Note : Assurez-vous d'inclure la portée openid, requise par la norme OIDC pour récupérer des informations utilisateur depuis l'URL JSON utilisateur. Étant donné que l'application tierce de Logto est mise en œuvre sur la base d'OIDC, tandis que le plugin d'Apache Answer utilise OAuth 2.0, cette portée est essentielle pour garantir le bon déroulement de l'authentification entre les deux systèmes.

Vérification : Testez l'intégration

Avec Logto et Apache Answer configurés, voyons l'expérience utilisateur sans faille :

  1. Visitez votre Apache Answer, vous verrez un bouton "Se connecter avec Logto" sur la page de connexion.

connect-with-logto.png

  1. Cliquez sur le bouton, vous serez redirigé vers la page de connexion de Logto.

  2. Après avoir cliqué sur le bouton "Se connecter avec Logto", vous serez redirigé vers Logto où vous pourrez vous connecter avec votre compte existant. Vous verrez ensuite une page de consentement demandant l'autorisation de partager vos informations avec Apache Answer.

consent-page.png

  1. Une fois que vous avez approuvé l'autorisation, vous serez redirigé vers Apache Answer, et vous verrez que vous êtes connecté !

answer-dashboard.png

Remarque : Apache Answer vérifie si l'utilisateur connecté a un e-mail vérifié. Lorsque votre utilisateur ne possède pas d'information e-mail, Apache Answer lui demandera de fournir un e-mail pour vérification.

Bénéfices de l'intégration résumés

Pourquoi suivre ces étapes ? Les avantages sont significatifs :

  • Expérience utilisateur : C'est le gain le plus évident. Les utilisateurs n'ont pas besoin de créer ou de se rappeler un autre ensemble d'identifiants. Ils utilisent la connexion en laquelle ils ont déjà confiance, leur fournissant une entrée fluide et sans friction dans la communauté. Cela réduit considérablement la barrière à la participation.
  • Efficacité de développement : Vous contournez complètement le besoin de construire et de maintenir une authentification utilisateur séparée, des flux d'inscription, de réinitialisation de mot de passe, etc., au sein d'Apache Answer. Vous exploitez immédiatement votre base d'utilisateurs Logto existante, vous permettant de lancer la communauté beaucoup plus rapidement.
  • Sécurité : L'authentification est déléguée à Logto, votre fournisseur IAM spécialisé, qui gère probablement des aspects de sécurité comme l'authentification multi-facteurs (MFA), les politiques de mot de passe, et la protection contre les attaques par force brute de manière plus robuste qu'une implémentation personnalisée au sein d'Answer pourrait le faire. Vous vous fiez à la norme OIDC mûre et bien éprouvée.
  • Valeur produit et efficacité du support : Vous ajoutez instantanément une fonctionnalité communautaire sans fragmenter votre identité utilisateur. Comme souligné précédemment, savoir que l'utilisateur communautaire est le même utilisateur du produit permet à votre équipe de support de fournir une aide beaucoup plus contextuelle et efficace, augmentant la satisfaction et l'engagement des utilisateurs.

Conclusion

Intégrer des outils tiers est essentiel pour construire un écosystème applicatif riche, mais gérer les identités utilisateur à travers ces outils peut être un véritable casse-tête. Comme nous l'avons démontré avec Apache Answer, la fonctionnalité d'application tierce (OIDC) de Logto offre un moyen puissant et standardisé de combler cet écart.

En configurant Logto comme fournisseur d'identité central pour Apache Answer, vous pouvez en fait "activer en un clic" un espace communautaire dédié pour vos utilisateurs existants, leur offrant une expérience de connexion transparente et fournissant à votre équipe les avantages d'une identité utilisateur unifiée.

Ce qui est encore plus passionnant, c'est que ce modèle n'est pas limité aux plateformes de questions-réponses ; il peut être appliqué aux tableaux de bord analytiques, aux outils de gestion de projet, aux utilitaires internes, et à d'innombrables autres applications, vous permettant de construire un écosystème logiciel cohérent et convivial.

Restez à l'écoute pour de futurs articles où nous pourrions explorer l'intégration d'autres outils utiles en utilisant Logto !