È possibile creare moduli HTML personalizzati per garantire la sicurezza degli utenti durante la fase di estrazione delle identità in OAuth.
La configurazione del provider nativo " OAuth " include l'estrazione dell'identità quando si utilizzano i tipi di autorizzazione "Implicita", "Codice di accesso" o "Password del proprietario della risorsa". È possibile selezionare il modo in cui estrarre le credenziali utente e una delle scelte è Modulo HTML personalizzato. Per ulteriori informazioni, consultare la sezione "Configurazione di un provider nativo di OAuth ". Questo argomento descrive come creare il modulo HTML personalizzato per l'estrazione dell'identità.
Informazioni su questa attività
Durante i flussi a tre fasi definiti dall' OAuth (flusso implicito, flusso con password del proprietario della risorsa e flusso con codice di accesso (autorizzazione)), all'utente viene presentato un modulo per effettuare l'accesso al servizio fornito dall'API. È possibile presentare un modulo personalizzato o un modulo predefinito. Il modulo personalizzato deve soddisfare determinati requisiti.
Importante: i nomi dei campi utilizzati da IBM® API Connect per inserire informazioni nel modulo distinguono tra maiuscole e minuscole.
Per creare un modulo di accesso personalizzato per il proprio provider Native OAuth, seguire questi passaggi:
- API Connect analizza un documento XHTML ben formato per inserire campi nascosti.
- Per il modulo XHTML, impostare il metodo come POST, il tipo di codifica come application/x-www-form-urlencodede l'azione come authorize. Aggiungere eventuali altri parametri richiesti.
Ad esempio:
<form method="POST" enctype="application/x-www-form-urlencoded" action="authorize">
- Creare un campo di immissione testo denominato username e creare un campo di immissione password denominato password.
- Aggiungere la linea <EI-INJECT-HIDDEN-INPUT-FIELDS>. Questo terzo elemento è un segnaposto che API Connect sostituisce con campi di immissione per completare i dati inoltrati dall'utente.
- Creare un pulsante per avviare il processo di accesso.
Ad esempio:
<button id="login_button" type="submit" name="login" value="true">Log in</button>
- Facoltativo: Aggiungi un testo che venga visualizzato la prima volta che l'utente visita la pagina di accesso. Usa il tag <EI-LOGINFIRSTTIME> per il testo che desideri visualizzare.
- Facoltativo: Aggiungi il testo che verrà visualizzato quando l'utente viene reindirizzato alla pagina di accesso in caso di autenticazione non riuscita. Usa il tag <EI-LOGINFAILED> per il testo che desideri visualizzare.
- Opzionale: visualizzare un messaggio di errore quando un errore nel modulo personalizzato ne impedisce la corretta visualizzazione da parte dell'utente. Utilizza il tag <EI-INTERNAL-CUSTOM-FORM-ERROR/>; il testo del messaggio viene generato automaticamente. È necessario individuare tali errori durante la fase di test per evitare che questo messaggio di errore venga visualizzato all'utente.
- Facoltativo: è possibile aggiungere elementi caricati da fonti esterne, come immagini o file ` JavaScript `.
- Inserire la spaziatura e altre funzioni come richiesto. Una volta completati i passaggi da 1 a 8, si ottiene un modulo simile a quello riportato nell'esempio seguente:
<html lang="en" xml:lang="en">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/></head>
<body>
<form method="POST" enctype="application/x-www-form-urlencoded" action="authorize">
<h1>Please sign in</h1>
<p>Username </p>
<p style="text-indent: 0em;"><input type="text" name="username" required="required" /> </p>
<p>Password </p>
<p style="text-indent: 0em;"><input type="password" name="password" required="required" /> </p>
<EI-INJECT-HIDDEN-INPUT-FIELDS/>
<p style="text-indent: 2em;"> <button id="login_button" type="submit" name="login" value="true">Log in</button> </p>
<EI-LOGINFIRSTTIME>
<p>If you have forgotten your user name or password, contact your system administrator.</p>
</EI-LOGINFIRSTTIME>
<EI-LOGINFAILED>
<p style="color: red">At least one of your entries does not match our records.
If you have forgotten your user name or password, contact your system administrator.</p>
</EI-LOGINFAILED>
<EI-INTERNAL-CUSTOM-FORM-ERROR/>
</form>
</body>
</html>
- Mettete il vostro modulo a disposizione su un sito URL di vostra scelta.
- Se non l'hai ancora fatto, configura il tuo provider Native OAuth in modo che utilizzi un modulo HTML personalizzato per l'estrazione dell'identità e indica l'indirizzo URL all'indirizzo del quale è disponibile il tuo modulo.