Aller au contenu principal

Intégration en WebView (avec SSO)

Introduction

L'intégration de Logora en WebView permet d'afficher l'espace de débat directement au sein d'une application mobile ou d'un site en mode WebView. Cette approche garantit une expérience utilisateur fluide tout en conservant les fonctionnalités interactives de Logora.

Deux applications ont déjà intégré Logora avec succès : Der SPIEGEL et Suedkurier. Vous pouvez voir ces intégrations en action aux liens suivants :

Pour une authentification transparente des utilisateurs, Logora supporte l'Authentification Unique (SSO) via l'injection d'un jeton dans l'objet logora_config sous le paramètre remote_auth. L'intégration SSO de Logora est uniquement compatible avec la méthode JWT.

1. Installation de Logora en WebView

L'installation de Logora en WebView suit la même procédure que l'installation classique en insérant le code JavaScript standard. Voici les étapes à suivre :

1.1 Création de la WebView

Dans votre application mobile ou site WebView, créez une vue Web qui charge l'URL de l'espace de débat. Exemple en HTML :

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Débat Logora</title>
<script>
var logora_config = {
shortname: "NOM_APPLICATION",
remote_auth: "VOTRE_JETON_JWT"
};
</script>
<script src="https://cdn.logora.com/debat.js"></script>
</head>
<body>
<div id="logora_app"></div>
</body>
</html>

1.2 Chargement dans une WebView mobile

Exemple en Swift (iOS)

import UIKit
import WebKit

class DebateViewController: UIViewController {
var webView: WKWebView!

override func loadView() {
webView = WKWebView()
webView.configuration.preferences.javaScriptEnabled = true
view = webView
}

override func viewDidLoad() {
super.viewDidLoad()
let url = URL(string: "https://votresite.com/espace-debat")!
webView.load(URLRequest(url: url))
}
}

Exemple en Kotlin (Android)

import android.os.Bundle
import android.webkit.WebSettings
import android.webkit.WebView
import androidx.appcompat.app.AppCompatActivity

class DebateActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val webView = WebView(this)
webView.settings.javaScriptEnabled = true
webView.loadUrl("https://votresite.com/espace-debat")
setContentView(webView)
}
}

2. Authentification Unique (SSO) en WebView

Pour que les utilisateurs soient automatiquement authentifiés sur Logora sans ressaisie de leurs identifiants, il est nécessaire d’injecter un jeton dans remote_auth au sein de logora_config.

L'intégration SSO de Logora est uniquement compatible avec la méthode JWT.

Vous pouvez consulter le guide détaillé sur l’authentification dans notre documentation JWT.

Exemple de configuration :

var logora_config = {
shortname: "NOM_APPLICATION",
remote_auth: "VOTRE_JETON_JWT"
};

Déconnexion de l'utilisateur

Pour déconnecter un utilisateur, il suffit de retirer la valeur de remote_auth ou de transmettre une chaîne vide :

var logora_config = {
shortname: "NOM_APPLICATION",
remote_auth: ""
};

Conclusion

Avec cette intégration, vos utilisateurs peuvent interagir sur Logora sans friction, directement depuis votre application ou site WebView, tout en bénéficiant d'une authentification sécurisée et transparente via JWT.