![[18.0.0.1 und höher]](../ng_v18001plus.gif)
Angepasstes Auswahlformular für Social Media für Liberty konfigurieren
Sie können ein eigenes Auswahlformular für Social Media konfigurieren, anstatt das Auswahlformular für Social Media zu konfigurieren, das Liberty bereitstellt. Sie können diese Option auswählen, wenn mehrere Social-Media-Provider konfiguriert werden, um eine Anforderung zu schützen.
Informationen zu diesem Vorgang
Das Auswahlformular für Social Media ermöglicht es Benutzern, einen der verfügbaren Provider für Social Login auszuwählen, um sich für die Anforderung einer geschützten Ressource zu authentifizieren. Bei Liberty können Sie die Position Ihrer eigenen Auswahlseite angeben, wenn Sie nicht die Standardseite verwenden möchten, die Liberty bereitstellt.
Jede angepasste Auswahlseite muss HTTP-Anforderungsparameter empfangen und diese Werte zum Erstellen einer gültigen Webseite verwenden. Hier erfahren Sie, welche bestimmten Parameter an die angepasste Auswahlseite gesendet werden, welche Parameterwerte verwendet werden, und wie die Parameterwerte von der angepassten Auswahlseite verwendet werden sollen.
Vorgehensweise
- Konfigurieren Sie das Element socialLoginWebapp. Das Element socialLoginWebapp wird über das Feature socialLogin-1.0 bereitgestellt. Es ist ein Top-Level-Element in der Serverkonfiguration. Weitere Informationen zum Element socialLoginWebapp finden Sie unter socialLoginWebapp - Social Login-Webanwendung.
- Konfigurieren Sie das Attribut socialMediaSelectionPageUrl des Elements socialLoginWebapp. Setzen Sie den Wert des Attributs auf die URL Ihrer angepassten Auswahlseite.
Beachten Sie die folgenden Richtlinien für die Konfiguration des Attributs für die URL:
- Der Wert kann eine relative oder absolute URL sein.
- Wenn Sie als Wert eine absolute URL auswählen, muss das Schema entweder http oder https sein.
- Gemäß RFC 3986 darf die URL nur gültige URI-Pfadzeichen enthalten und darf keine Abfragezeichenfolge oder ein Fragment enthalten. .
- Erstellen Sie Ihre angepasste Auswahlseite. Sie können die angepasste Auswahlseite beliebig implementieren, Sie benötigen jedoch für die angepasste Auswahlseite die Anforderungsparameter, die an sie gesendet werden, um sicherzustellen, dass die entsprechenden Optionen angezeigt werden.
Akzeptieren Sie die folgenden Anforderungsparameter und verwenden Sie sie:
- request_url
- Die ursprüngliche Anforderungs-URL zur geschützten Ressource, einschließlich der Anforderungsparameter, sofern vorhanden. Die angepasste Auswahlseite sollte den vom Benutzer ausgewählten Social-Media-Provider wieder an diese URL übergeben. Wenn beispielsweise die angepasste Auswahlseite ein HTML-Formular verwendet, um die Social-Media-Optionen anzuzeigen, muss das Attribut action auf diese URL gesetzt werden. Zusätzlich müssen die Anforderungsparameter als verdeckte Eingaben im Formular eingeschlossen werden.
- request_method
- Die HTTP-Anforderungsmethode der ursprünglichen Anforderung für die geschützte Ressource. Die angepasste Auswahlseite muss dieselbe HTTP-Anforderungsmethode verwenden, um den vom Benutzer ausgewählten Social-Media-Provider wieder an die ursprüngliche Anforderungs-URL zu übergeben.
- submit_param_name
- Der Name, der für den Parameter oder Header verwendet werden muss, der die vom Benutzer ausgewählte ID des Social-Media-Providers angibt. Wenn die angepasste Auswahlseite den vom Benutzer ausgewählten Social-Media-Provider wieder an die ursprüngliche Anforderungs-URL übergibt, muss die Konfigurations-ID des Social-Media-Providers über einen Parameter oder Header mit diesem Namen angegeben werden. Das nachfolgende Beispiel veranschaulicht die folgenden Variablen:
- Die URL lautet https://www.example.com/protected/resource.
- Die ID des vom Benutzer ausgewählten Social-Media-Providers ist 123456.
- Der Wert für submit_param_name ist social_login_hint.
Die angepasste Auswahlseite muss die Auswahl entweder als Parameter, z. B. https://www.example.com/protected/resource?social_login_hint=123456, oder als Anforderungsheader übergeben. Bei der Übergabe an die ursprüngliche Anforderungs-URL muss der Name des Anforderungsheaders social_login_hint und der Headerwert 123456 sein.
Alle in der ursprünglichen Anforderung enthaltenen Parameter müssen auch in der angepassten Auswahlseite enthalten sein, wenn Sie die Benutzerauswahl wieder an die ursprügnliche Anforderungs-URL übergeben.
- configuration
- Ein JSON-Objekt, das Informationen zu jedem Social-Media-Provider enthält, der für die Authentifizierung der ursprünglichen Anforderung konfiguriert ist.
- social-media
- Der Schlüssel der höchsten Ebene, der einem JSON-Array mit Social-Media-Konfigurationen zugeordnet ist. Jede Social-Media-Konfiguration ist ein JSON-Objekt mit den folgenden Einträgen:
- id: Die Konfigurations-ID dieses Social-Media-Providers. Dieser Wert muss übergeben werden, wenn der Benutzer diesen Social-Media-Provider auswählt.
- display-name: Der Wert, der dem Benutzer angezeigt werden muss, um diesen Social-Media-Provider darzustellen. Dieser Wert ist in der Regel der öffentlich zugängliche Name des Social-Media-Providers, wie z. B. Google oder Facebook, obwohl der Wert auch für einen beliebigen Social-Media-Provider in der Serverkonfiguration geändert werden kann.
- website (optional): Die Website, die diesem Social-Media-Provider zugeordnet ist. Es ist möglicherweise nicht für jeden Social-Media-Provider eine Website konfiguriert, daher kann dieser Wert möglicherweise weggelassen werden.
<socialLoginWebapp socialMediaSelectionPageUrl="/myApp/customSelection" /> <twitterLogin consumerKey="..." consumerSecret="..." /> <googleLogin clientId="..." clientSecret="..." /> <oauth2Login id="customOAuthProvider" clientId="..." clientSecret="..." />
Ziehen Sie eine Anforderung für die geschützte Ressource in Betracht, die an https://myhost.com/acme?product_id=123&product_name=anvil umgeleitet wird und die HTTP-Anforderungsmethode GET verwendet. Wenn diese Anforderung empfangen wird, stellt der Server fest, dass mehrere Provider die Anforderung schützen und dass eine angepasste Auswahlseite konfiguriert wurde. Die Anforderung wird an die angepasste Auswahlseite umgeleitet. Sehen Sie sich hierzu das folgende Beispiel an:
HTTP/1.1 302 Found Location: https://myhost.com/myApp/customSelection? request_url=https%3A%2F%2Fmyhost.com%2Facme%3Fproduct_id%3D123%26product_name%3Danvil &request_method=GET &submit_param_name=social_login_hint &configuration=%7B%22social-media%22%3A%5B%7B%22id%22%3A%2213579%22%2C%22display-name%22%3A%22Twitter%22%2C%22website%22%3A%22https%3A%2F%2Fwww.twitter.com%22%7D%2C%7B%22id%22%3A%2224680%22%2C%22display-name%22%3A%22Google%22%2C%22website%22%3A%22https%3A%2F%2Fwww.google.com%22%7D%2C%7B%22id%22%3A%22-123456%22%2C%22display-name%22%3A%22An%20OAuth%20Provider%22%7D%5D%7D
Anmerkung: Das decodierte Attribut configuration wird im folgenden Beispiel angezeigt:
{"social-media": [ {"id":"13579","display-name":"Twitter","website":"https:\/\/www.twitter.com"}, {"id":"24680","display-name":"Google","website":"https:\/\/www.google.com"}, {"id":"-123456","display-name":"An OAuth Provider"} ] }
Wenn die angepasste Auswahlseite ein HTML-Formular für die Anzeige der Social-Media-Optionen verwendet, wurde das Formular möglicherweise wie im folgenden Beispiel implementiert:
<form action="https://myhost.com/acme" method="GET"> <button type="submit" name="social_login_hint" value="13579">Twitter</button> <button type="submit" name="social_login_hint" value="24680">Google</button> <button type="submit" name="social_login_hint" value="-123456">An OAuth Provider</button> <input type="hidden" name="product_id" value="123" /> <input type="hidden" name="product_name" value="anvil" /> </form>
Anmerkung: Im vorherigen Beispiel werden die Anforderungsparameter, die in der ursprünglichen Anforderung enthalten sind, als verdeckte Eingaben innerhalb des Formulars angegeben, um sicherzustellen, dass sie bei der Formularübergaben enthalten sind. Wenn Sie die angepasste Auswahlseite implementieren, stellen Sie sicher, dass die Anforderungsparameter aus der ursprünglichen Anforderung ordnungsgemäß angegeben wurden und in der Anforderung enthalten sind, die wieder an die ursprüngliche Anforderungs-URL übergeben wird, wenn der Benutzer einen Social-Media-Provider auswählt.
![[17.0.0.2 und höher]](../ng_v17002plus.gif)

Dateiname: twlp_cust_social_form.html