![[17.0.0.2 und höher]](../ng_v17002plus.gif)
Social Login in Liberty konfigurieren
Sie können einen Liberty-Server so konfigurieren, dass sich Benutzer bei Websites, die auf einem Liberty-Server gehostet werden, durch die Anmeldung mit Social Media-Konten authentifizieren können. Sie können zwischen den vordefinierten Social Media-Plattformkonfigurationen wählen oder eine eigene Konfiguration für eine Social Media-Plattform definieren, die auf dem Standard OAuth 2.0 oder auf dem Standard OpenID Connect 1.0 basiert.
Informationen zu diesem Vorgang
Social Login ist eine Form von Single Sign-on (SSO), die es Benutzern ermöglicht, sich mit ihrem vorhandenem Social Media-Konto bei einer Website anzumelden, anstatt ein spezielles Konto für diese Website zu erstellen. Sie können Social Login beispielsweise so konfigurieren, dass Benutzer sich mit ihrem Facebook- oder Twitter-Konto bei Ihrer Website anmelden können. Social Login kann für jede Social Media-Plattform aktiviert werden, die den Standard OAuth 2.0 oder den Standard OpenID Connect 1.0 für die Berechtigung verwendet.
Vorgehensweise
- Konfigurieren Sie Social Login für Facebook.
- Erstellen Sie eine Facebook-Anwendung. Weitere Informationen hierzu finden Sie unter Facebook App Development.Registrieren Sie bei der Konfiguration Ihrer Anwendung Ihren Liberty-Server bei der Anwendung, in dem Sie eine Umleitungs-URL im folgenden Format angeben:
https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/facebookLogin
Notieren Sie nach der Erstellung der Anwendung die App-ID und den geheimen Schlüssel der App, die Sie Ihrer Liberty-Konfiguration hinzufügen müssen.
- Öffnen Sie die Konfigurationsdatei server.xml für den Liberty-Server und fügen Sie die Features socialLogin-1.0 und appSecurity-2.0 hinzu.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- Fügen Sie das Element facebookLogin hinzu und konfigurieren Sie es mit der App-ID und dem geheimen Schlüssel der App.
<facebookLogin clientId="ID_der_Facebook-App" clientSecret="geheimer_Schlüssel_der_Facebook-App" />
Das Element facebookLogin gibt bestimmte Standardwerte für die Verbindung zu Facebook an. Sie können die Standardwerte überschreiben und weitere Einstellungen angeben, indem Sie weitere Attribute konfigurieren, die unter Facebook-Anmeldung beschrieben sind.
- Konfigurieren Sie über das Element keyStore einen Truststore und importieren Sie das Zertifikat aus dem Facebook-Endpunkt in den Truststore.
Die folgenden Konfigurationspunkte verweisen beispielsweise auf die Liberty-Standardtruststoredatei.
Wenn Sie das Zertifikat in den Liberty-Truststore importieren möchten, rufen Sie in Ihrem Browser einen der über das Element facebookLogin angegebenen Endpunkte auf und exportieren Sie das Zertifikat. Verwenden Sie ein Schlüsselmanagementtool, wie z. B. iKeyman oder das Java-Dienstprogramm keytool, um das Zertifikat der Liberty-Truststoredatei hinzuzufügen.<keyStore id="defaultKeyStore" password="keyspass" />
Tipp: In einigen Fällen müssen Sie möglicherweise mehr als ein Zertifikat importieren. Ausführliche Informationen darüber, welche Zertifikate Sie importieren müssen, finden Sie in der Datei messages.log.
- Erstellen Sie eine Facebook-Anwendung. Weitere Informationen hierzu finden Sie unter Facebook App Development.
- Konfigurieren Sie Social Login für GitHub.
- Erstellen Sie eine GitHub-OAuth-Anwendung. Weitere Informationen finden Sie in der Dokumentation zu Webanwendungen unter GitHub: OAuth
API.Registrieren Sie bei der Konfiguration Ihrer Anwendung Ihren Liberty-Server bei der Anwendung, in dem Sie eine Umleitungs-URL im folgenden Format angeben:
https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/githubLogin
Notieren Sie nach der Erstellung der Anwendung die Client-ID und den geheimen Clientschlüssel, die Sie Ihrer Liberty-Konfiguration hinzufügen müssen.
- Öffnen Sie die Konfigurationsdatei server.xml für den Liberty-Server und fügen Sie die Features socialLogin-1.0 und appSecurity-2.0 hinzu.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- Fügen Sie das Element githubLogin hinzu und konfigurieren Sie es mit der Client-ID und dem geheimen Clientschlüssel.
<githubLogin clientId="ID_des_GitHub-Clients" clientSecret="geheimer_Schlüssel_des_GitHub-Clients" />
Das Element githubLogin gibt bestimmte Standardwerte für die Verbindung zu GitHub an. Sie können die Standardwerte überschreiben und weitere Einstellungen angeben, indem Sie weitere Attribute konfigurieren, die unter GitHub-Anmeldung beschrieben sind.
- Konfigurieren Sie über das Element keyStore einen Truststore und importieren Sie das Zertifikat aus dem GitHub-Endpunkt in den Truststore.
Die folgenden Konfigurationspunkte verweisen beispielsweise auf die Liberty-Standardtruststoredatei.
Wenn Sie das Zertifikat in den Liberty-Truststore importieren möchten, rufen Sie in Ihrem Browser einen der über das Element githubLogin angegebenen Endpunkte auf und exportieren Sie das Zertifikat. Verwenden Sie ein Schlüsselmanagementtool, wie z. B. iKeyman oder das Java-Dienstprogramm keytool, um das Zertifikat der Liberty-Truststoredatei hinzuzufügen.<keyStore id="defaultKeyStore" password="keyspass" />
Tipp: In einigen Fällen müssen Sie möglicherweise mehr als ein Zertifikat importieren. Ausführliche Informationen darüber, welche Zertifikate Sie importieren müssen, finden Sie in der Datei messages.log.
- Erstellen Sie eine GitHub-OAuth-Anwendung. Weitere Informationen finden Sie in der Dokumentation zu Webanwendungen unter GitHub: OAuth
API.
- Konfigurieren Sie Social Login für Google.
- Erstellen Sie eine OAuth-Client-ID in einem Google API Console-Projekt. Weitere Informationen finden Sie unter Creating a Google API Console project and client ID.Registrieren Sie bei der Konfiguration Ihrer Anwendung Ihren Liberty-Server bei der Anwendung, in dem Sie eine Umleitungs-URL im folgenden Format angeben:
https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/googleLogin
Notieren Sie nach der Erstellung der Client-ID die Client-ID und den geheimen Clientschlüssel, die Sie Ihrer Liberty-Konfiguration hinzufügen müssen.
- Öffnen Sie die Konfigurationsdatei server.xml für den Liberty-Server und fügen Sie die Features socialLogin-1.0 und appSecurity-2.0 hinzu.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- Fügen Sie das Element googleLogin hinzu und konfigurieren Sie es mit der Client-ID und dem geheimen Clientschlüssel.
<googleLogin clientId="ID_des_Google-Clients" clientSecret="geheimer_Schlüssel_des_Google-Clients" />
Das Element googleLogin gibt bestimmte Standardwerte für die Verbindung zu Google an. Sie können die Standardwerte überschreiben und weitere Einstellungen angeben, indem Sie weitere Attribute konfigurieren, die unter Google-Anmeldung beschrieben sind.
- Konfigurieren Sie über das Element keyStore einen Truststore und importieren Sie das Zertifikat aus dem Google-Endpunkt in den Truststore.
Die folgenden Konfigurationspunkte verweisen beispielsweise auf die Liberty-Standardtruststoredatei.
Wenn Sie das Zertifikat in den Liberty-Truststore importieren möchten, rufen Sie in Ihrem Browser einen der über das Element googleLogin angegebenen Endpunkte auf und exportieren Sie das Zertifikat. Verwenden Sie ein Schlüsselmanagementtool, wie z. B. iKeyman oder das Java-Dienstprogramm keytool, um das Zertifikat der Liberty-Truststoredatei hinzuzufügen.<keyStore id="defaultKeyStore" password="keyspass" />
Tipp: In einigen Fällen müssen Sie möglicherweise mehr als ein Zertifikat importieren. Ausführliche Informationen darüber, welche Zertifikate Sie importieren müssen, finden Sie in der Datei messages.log.
- Erstellen Sie eine OAuth-Client-ID in einem Google API Console-Projekt. Weitere Informationen finden Sie unter Creating a Google API Console project and client ID.
- Konfigurieren Sie Social Login für LinkedIn.
- Erstellen Sie eine LinkedIn-Anwendung. Weitere Informationen finden Sie unter LinkedIn: Authenticating with OAuth 2.0.Registrieren Sie bei der Konfiguration Ihrer Anwendung Ihren Liberty-Server bei der Anwendung, in dem Sie eine Umleitungs-URL im folgenden Format angeben:
https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/linkedinLogin
Notieren Sie nach der Erstellung der Anwendung die Client-ID und den geheimen Clientschlüssel, die Sie Ihrer Liberty-Konfiguration hinzufügen müssen.
- Öffnen Sie die Konfigurationsdatei server.xml für den Liberty-Server und fügen Sie die Features socialLogin-1.0 und appSecurity-2.0 hinzu.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- Fügen Sie das Element linkedinLogin hinzu und konfigurieren Sie es mit der Client-ID und dem geheimen Clientschlüssel.
<linkedinLogin clientId="ID_de_LinkedIn-Clients" clientSecret="geheimer_Schlüssel_des_LinkedIn-Clients" />
Das Element linkedinLogin gibt bestimmte Standardwerte für die Verbindung zu LinkedIn an. Sie können die Standardwerte überschreiben und weitere Einstellungen angeben, indem Sie weitere Attribute konfigurieren, die unter LinkedIn-Anmeldung beschrieben sind.
- Konfigurieren Sie über das Element keyStore einen Truststore und importieren Sie das Zertifikat aus dem LinkedIn-Endpunkt in den Truststore.
Die folgenden Konfigurationspunkte verweisen beispielsweise auf die Liberty-Standardtruststoredatei.
Wenn Sie das Zertifikat in den Liberty-Truststore importieren möchten, rufen Sie in Ihrem Browser einen der über das Element linkedinLogin angegebenen Endpunkte auf und exportieren Sie das Zertifikat. Verwenden Sie ein Schlüsselmanagementtool, wie z. B. iKeyman oder das Java-Dienstprogramm keytool, um das Zertifikat der Liberty-Truststoredatei hinzuzufügen.<keyStore id="defaultKeyStore" password="keyspass" />
Tipp: In einigen Fällen müssen Sie möglicherweise mehr als ein Zertifikat importieren. Ausführliche Informationen darüber, welche Zertifikate Sie importieren müssen, finden Sie in der Datei messages.log.
- Erstellen Sie eine LinkedIn-Anwendung. Weitere Informationen finden Sie unter LinkedIn: Authenticating with OAuth 2.0.
- Konfigurieren Sie Social Login für Twitter.
- Erstellen Sie eine Twitter-Anwendung. Weitere Informationen finden Sie unter Twitter Apps.
Aktivieren Sie nach der Erstellung der Anwendung die Berechtigung Request email addresses from users. Notieren Sie den Konsumentenschlüssel und das Konsumentengeheimnis, die Sie Ihrer Liberty-Konfiguration hinzufügen müssen.
Optional können Sie die Callback-Sperrung aktivieren, um sicherzustellen, dass Apps die Callback-URL nicht überschreiben. Geben Sie unter Settings die Callback-URL im folgenden Format ein und überprüfen Sie die Einstellung Enable Callback Locking.https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/twitterLogin
- Öffnen Sie die Konfigurationsdatei server.xml für den Liberty-Server und fügen Sie die Features socialLogin-1.0 und appSecurity-2.0 hinzu.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- Fügen Sie das Element twitterLogin hinzu und konfigurieren Sie es mit der Client-ID und dem geheimen Clientschlüssel.
<twitterLogin consumerKey="Twitter-Konsumentenschlüssel" consumerSecret="Twitter-Konsumentengeheimnis" />
Das Element twitterLogin gibt bestimmte Standardwerte für die Verbindung zu Twitter an. Sie können die Standardwerte überschreiben und weitere Einstellungen angeben, indem Sie weitere Attribute konfigurieren, die unter Twitter-Anmeldung beschrieben sind.
- Konfigurieren Sie über das Element keyStore einen Truststore und importieren Sie das Zertifikat aus dem Twitter-Endpunkt in den Truststore.
Die folgenden Konfigurationspunkte verweisen beispielsweise auf die Liberty-Standardtruststoredatei.
Wenn Sie das Zertifikat in den Liberty-Truststore importieren möchten, rufen Sie in Ihrem Browser einen der über das Element twitterLogin angegebenen Endpunkte auf und exportieren Sie das Zertifikat. Verwenden Sie ein Schlüsselmanagementtool, wie z. B. iKeyman oder das Java-Dienstprogramm keytool, um das Zertifikat der Liberty-Truststoredatei hinzuzufügen.<keyStore id="defaultKeyStore" password="keyspass" />
Tipp: In einigen Fällen müssen Sie möglicherweise mehr als ein Zertifikat importieren. Ausführliche Informationen darüber, welche Zertifikate Sie importieren müssen, finden Sie in der Datei messages.log.
- Erstellen Sie eine Twitter-Anwendung. Weitere Informationen finden Sie unter Twitter Apps.
- Konfigurieren Sie Social Login für eine Social Media-Plattform die OAuth 2.0 unterstützt, wie z. B. Instagram
oder Pinterest.
- Erstellen Sie eine Anwendung für die Social Media-Plattform. Weitere Informationen finden Sie in der Dokumentation zu der jeweiligen Social media-Plattform.
Notieren Sie nach der Erstellung der Anwendung die Client-ID und den geheimen Clientschlüssel, die Sie Ihrer Liberty-Konfiguration hinzufügen müssen.
- Öffnen Sie die Konfigurationsdatei server.xml für den Liberty-Server und fügen Sie die Features socialLogin-1.0 und appSecurity-2.0 hinzu.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- Fügen Sie das Element oauth2Login hinzu und konfigurieren Sie die Verbindung zur Social Media-Plattform. Informationen zu den konfigurierbaren Attributen finden Sie unter OAuth 2.0-Anmeldung.Die folgende Konfiguration definiert Social Login beispielsweise für eine Instagram-Anwendung:
<oauth2Login id="instagramLogin" clientId="Client-ID" clientSecret="geheimer_Clientschlüssel" scope="basic public_content" responseType="code" tokenEndpointAuthMethod="client_secret_post" authorizationEndpoint="https://api.instagram.com/oauth/authorize" tokenEndpoint="https://api.instagram.com/oauth/access_token" userApi="https://api.instagram.com/v1/users/self" userNameAttribute="username" website="https://www.instagram.com/developer/authentication/"> </oauth2Login>
Konfigurationstipps:- Der Liberty-Server übergibt den OAuth-Geltungsbereichswert, den Sie im Attribut scope definieren, an die Social Media-Plattform. Der definierte Geltungsbereich muss von der Social Media-Plattform unterstützt werden und der Geltungsbereich muss dem Liberty-Server genügend Zugriffsrechte zum Lesen von Benutzerdaten von der Social Media-Plattform erteilen. Wenn Sie beabsichtigen, dass die Social Media-Anwendung weitere Social Media-APIs aufruft, wie z. B. eine Marketing-API, muss der definierte Wert außerdem den von diesen APIs benötigten Geltungsbereich enthalten.
- Definieren Sie die Endpunkte der Social Media-Plattform in den Attributen authorizationEndpoint und tokenEndpoint. Der Liberty-Server leitet den Benutzer zunächst an den Berechtigungsendpunkt um, um den Benutzer zu authentifizieren und den OAuth-Berechtigungscode abzurufen. Anschließend ruft er den Tokenendpunkt auf, um den OAuth-Berechtigungscode gegen ein OAuth-Token auszutauschen.
- Konfigurieren Sie über das Element keyStore einen Truststore und importieren Sie das Zertifikat aus dem Social Media-Endpunkt in den Truststore.
Die folgenden Konfigurationspunkte verweisen beispielsweise auf die Liberty-Standardtruststoredatei.
Wenn Sie das Zertifikat in den Liberty-Truststore importieren möchten, rufen Sie in Ihrem Browser einen der über das Element oauth2Login angegebenen Endpunkte auf und exportieren Sie das Zertifikat. Verwenden Sie ein Schlüsselmanagementtool, wie z. B. iKeyman oder das Java-Dienstprogramm keytool, um das Zertifikat der Liberty-Truststoredatei hinzuzufügen.<keyStore id="defaultKeyStore" password="keyspass" />
Tipp: Bei einigen Social Media-Plattformen müssen Sie möglicherweise mehr als ein Zertifikat importieren. Ausführliche Informationen darüber, welche Zertifikate Sie importieren müssen, finden Sie in der Datei messages.log. - Kehren Sie in Ihre Social Media-Anwendung zurück und konfigurieren Sie eine Umleitungs- oder Callback-URL, die auf die ID des konfigurierten
oauth2Login-Element im folgenden Format verweist.
Die Umleitungs-URL für das oauth2Login-Konfigurationsbeispiel für Instagram hat beispielsweise das folgende Format:https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/oauth2login-ID
https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/instagramLogin
- Erstellen Sie eine Anwendung für die Social Media-Plattform. Weitere Informationen finden Sie in der Dokumentation zu der jeweiligen Social media-Plattform.
- Konfigurieren Sie Social Login für eine Social Media-Plattform, die OpenID Connect 1.0 unterstützt.
- Erstellen Sie eine Anwendung für die Social Media-Plattform. Weitere Informationen finden Sie in der Dokumentation zu der jeweiligen Social media-Plattform.
Notieren Sie nach der Erstellung der Anwendung die Client-ID und den geheimen Clientschlüssel, die Sie Ihrer Liberty-Konfiguration hinzufügen müssen.
- Öffnen Sie die Konfigurationsdatei server.xml für den Liberty-Server und fügen Sie die Features socialLogin-1.0 und appSecurity-2.0 hinzu.
<featureManager> <feature>socialLogin-1.0</feature> <feature>appSecurity-2.0</feature> ... </featureManager>
- Fügen Sie das Element oidcLogin hinzu und konfigurieren Sie die Verbindung zur Social Media-Plattform. Informationen zu den konfigurierbaren Attributen finden Sie unter OpenID Connect 1.0-Anmeldung.Die folgende Konfiguration definiert Social Login beispielsweise für eine Google-Anwendung, die OpenID Connect verwendet:
<oidcLogin id="googleOIDCLogin" clientId="Client-ID" clientSecret="geheimer_Clientschlüssel" authorizationEndpoint="https://accounts.google.com/o/oauth2/v2/auth" tokenEndpoint="https://www.googleapis.com/oauth2/v4/token" jwksUri="https://www.googleapis.com/oauth2/v3/certs" scope="openid profile email" userNameAttribute="email" isClientSideRedirectSupported="true" issuer="https://accounts.google.com" realmNameAttribute="iss" > </oidcLogin>
Konfigurationstipps:- Der Liberty-Server übergibt den OAuth-Geltungsbereichswert, den Sie im Attribut scope definieren, an die Social Media-Plattform. Der definierte Geltungsbereich muss von der Social Media-Plattform unterstützt werden und der Geltungsbereich muss dem Liberty-Server genügend Zugriffsrechte zum Lesen von Benutzerdaten von der Social Media-Plattform erteilen. Wenn Sie beabsichtigen, dass die Social Media-Anwendung weitere Social Media-APIs aufruft, wie z. B. eine Marketing-API, muss der definierte Wert außerdem den von diesen APIs benötigten Geltungsbereich enthalten.
- Definieren Sie die Endpunkte der Social Media-Plattform in den Attributen authorizationEndpoint und tokenEndpoint. Der Liberty-Server leitet den Benutzer zunächst an den Berechtigungsendpunkt um, um den Benutzer zu authentifizieren und den OAuth-Berechtigungscode abzurufen. Anschließend ruft er den Tokenendpunkt auf, um den OAuth-Berechtigungscode gegen ein OAuth-Token auszutauschen.
- Konfigurieren Sie über das Element keyStore einen Truststore und importieren Sie das Zertifikat aus dem Social Media-Endpunkt in den Truststore.
Die folgenden Konfigurationspunkte verweisen beispielsweise auf die Liberty-Standardtruststoredatei.
Wenn Sie das Zertifikat in den Liberty-Truststore importieren möchten, rufen Sie in Ihrem Browser einen der über das Element oidcLogin angegebenen Endpunkte auf und exportieren Sie das Zertifikat. Verwenden Sie ein Schlüsselmanagementtool, wie z. B. iKeyman oder das Java-Dienstprogramm keytool, um das Zertifikat der Liberty-Truststoredatei hinzuzufügen.<keyStore id="defaultKeyStore" password="keyspass" />
Tipp: Bei einigen Social Media-Plattformen müssen Sie möglicherweise mehr als ein Zertifikat importieren. Ausführliche Informationen darüber, welche Zertifikate Sie importieren müssen, finden Sie in der Datei messages.log. - Kehren Sie in Ihre Social Media-Anwendung zurück und konfigurieren Sie eine Umleitungs- oder Callback-URL, die auf die ID des konfigurierten
oidcLogin-Element im folgenden Format verweist.
Die Umleitungs-URL für das oidcLogin-Konfigurationsbeispiel hat beispielsweise das folgende Format:https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/oidclogin-ID
https://Liberty-Host:SSL-Port/ibm/api/social-login/redirect/googleOIDCLogin
- Erstellen Sie eine Anwendung für die Social Media-Plattform. Weitere Informationen finden Sie in der Dokumentation zu der jeweiligen Social media-Plattform.
Untergeordnete Themen
Social-Media-Auswahlformular für Liberty
Wenn mehrere Social-Media-Provider für den Schutz einer Anforderung konfiguriert sind, stellt WebSphere Application Server Liberty ein Standardauswahlformular für Social Media bereit. Das Formular bietet Ihnen die Möglichkeit, zwischen den verfügbaren Providern auszuwählen, die auf im Liberty-Server konfiguriert sind, damit Sie sich für geschützte Ressourcenanforderungen authentifizieren können.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.

Dateiname: twlp_sec_sociallogin.html