Multibrand ti permette di controllare tutti i brand aziendali in una singola istanza di Zendesk Support. Tuttavia, le impostazioni di sicurezza ti permetteranno di impostare un solo URL per gli accessi remoti, il che potrebbe essere problematico se disponi di database utente diversi per ciascuno dei tuoi brand.
Questo approccio consente di creare uno script tra Zendesk Support e lo script di accesso SSO nel server che consente di indirizzare i clienti a URL specifici in base al brand a cui stanno tentando di accedere.
Questa procedura presuppone che tu abbia già configurato JWT sul tuo server. Altrimenti, segui prima le istruzioni elencate nell’articolo Abilitazione di Single Sign-On JWT .
Questo esempio in questo articolo usa PHP, ma puoi adattarlo ad altre lingue, se necessario.
L’articolo include le seguenti sezioni:
- Due o più brand configurati
- Due o più sistemi di autenticazione utente configurati con SSO JWT
- Gli script
- Aggiorna le impostazioni di sicurezza
- Considerazioni importanti
- Risoluzione dei problemi
Due o più brand configurati
Per seguire questa procedura, devi configurare almeno due brand. Per dettagli, consulta Configurazione di più brand (componente aggiuntivo Professional ed Enterprise).
Dopo averla configurata, salva l’URL del brand e l’URL del brand mappato sull’host. Le useremo nel nostro script in seguito.
Due o più sistemi di autenticazione utente configurati con SSO JWT
Come accennato in precedenza, dovrai aver impostato e configurato SSO JWT sui sistemi di autenticazione degli utenti. Puoi già farne una per ciascun brand, ma tieni presente che il segreto condiviso che ottieni dalle opzioni di sicurezza dovrà essere lo stesso in tutti i tuoi sistemi di autenticazione.
Salva l’URL di accesso e di uscita insieme alle informazioni della sezione precedente.
Gli script
Il tuo elenco di URL salvati potrebbe avere il seguente aspetto:
Brand 1
URL non mappato all’host: https://brand1.zendesk.com
URL mappato sull’host: https://support1.example.com
Brand 2
URL non mappato all’host: https://brand2.zendesk.com
URL mappato sull’host: https://support2.example.com
Sistema 1
URL di accesso: https://page1.example.com/zdlogin.php
URL di uscita: https://page1.example.com/zdlogout.php
Sistema 2
URL di accesso: https://page2.example.com/zdlogin.php
URL di uscita: https://page2.example.com/zdlogout.php
Quindi, crea lo script. Rimuovi https:// dall’URL per ciascun URL del brand. Tienili nei link ai siti web.
Puoi trovare gli script anche qui:
Script di accesso
<?
$brand_URLs = array(
"brand1.zendesk.com" => "https://page1.example.com/yourcustomloginjwtscript.php",
"support1.example.com" => "https://page1.example.com/yourcustomloginjwtscript.php",
"brand2.zendesk.com" => "https://page2.example.com/yourcustomloginjwtscript2.php",
"support2.example.com" => "https://page2.example.com/yourcustomloginjwtscript2.php"
);
foreach($brand_URLs as $k => $v){
if(strpos($_GET['return_to'],$k)){
header("Location: ". $v);
die();
}
}
?>
Script di uscita
<?
$brand_URLs = array(
"brand1.zendesk.com" => "https://page1.example.com/yourcustomlogoutjwtscript.php",
"support1.example.com" => "https://page1.example.com/yourcustomlogoutjwtscript.php",
"brand2.zendesk.com" => "https://page2.example.com/yourcustomlogoutjwtscript.php",
"support2.example.com" => "https://page2.example.com/yourcustomlogoutjwtscript.php"
);
foreach($brand_URLs as $k => $v){
if(strpos($_GET['return_to'],$k)){
header("Location: ". $v);
die();
}
}
?>
Aggiorna le impostazioni di sicurezza
- Nel Centro amministrativo, fai clic su Account nella barra laterale, quindi seleziona Sicurezza > Single Sign-On.
- Fai clic suCrea configurazione SSO, quindi selezionaJSON Web Token.
- Inserisci unnome di configurazioneunivoco.
- InURL di accesso remoto, inserisci l’URL dello script di accesso.
- In URL diuscita remota, inserisci l’URL dello script di uscita.
- Per evitare conflitti nel caso in cui alcuni dei tuoi clienti abbiano un account in più di un sistema di autenticazione utente con lo stesso indirizzo email, puoi impostareAggiornamento di ID esterni su On.
- Fornisci il segreto condiviso aal team IT. Ne avranno bisogno per l’implementazione JWT.
- Salva le modifiche.
Considerazioni importanti
- Se usi lo script così com’è, i rischi per la sicurezza sono bassi. Se lo modifichi in modo approfondito oltre alle modifiche menzionate qui, potresti creare una vulnerabilità di sicurezza sul tuo server (non su quello di Zendesk).
- Poiché forniamo un solo token JWT, tutti gli script SSO useranno gli stessi token nei sistemi di autenticazione. Se uno dei tuoi sistemi viene compromesso, potrebbero essere compromessi tutti i tuoi brand.
- Se viene visualizzato l’errore “Richiesta JWT non valida” quando provi a usare il SSO, fai riferimento alle istruzioni per la risoluzione dei problemi seguenti.
Risoluzione dei problemi
Per evitare errori di richiesta JWT non validi, codifica https://(defaultsubdomain).zendesk.com/ as/access/jwt?jwt=
per entrambi i brand dove (defaultsubdomain) è il tuosottodominio del brand principale. Ad esempio, miodominio.zendesk.com
- Includihttps://(defaultsubdomain.zendesk.com)nello script SSO, in modo che il payload JWT venga sempre inviato ahttps://(defaultsubdomain).zendesk.com/access/jwt
- Implementa il frammento di codice nello script per usare “return_to” in modo che l’utente finale venga reindirizzato al Centro assistenza di origine. Assicurati di aggiungere il payload per entrambi gli URL di contrassegno del brand come “(defaultsubdomain)” e di aggiungere “return_to”.
Il frammento di riferimento:
if(isset($_GET["return_to"])) {
$location .= "&return_to=" . urlencode($_GET["return_to"]);
}
Avvertenza sulla traduzione: questo articolo è stato tradotto usando un software di traduzione automatizzata per fornire una comprensione di base del contenuto. È stato fatto tutto il possibile per fornire una traduzione accurata, tuttavia Zendesk non garantisce l'accuratezza della traduzione.
Per qualsiasi dubbio sull'accuratezza delle informazioni contenute nell'articolo tradotto, fai riferimento alla versione inglese dell'articolo come versione ufficiale.