Punkt 6 geschrieben noch nicht fertig muss noch erweitert werden
Some checks failed
Word Count / count-words (push) Failing after 32s
Some checks failed
Word Count / count-words (push) Failing after 32s
This commit is contained in:
@@ -304,12 +304,65 @@ Neben der Datensicherung wurde auch ein Restore-Skript implementiert, das eine v
|
|||||||
Insgesamt stellt das entwickelte Backup-System eine robuste und praxisnahe Lösung dar, die den sicheren Betrieb der Webanwendung unterstützt und im Fehlerfall eine schnelle Wiederherstellung der Daten ermöglicht.
|
Insgesamt stellt das entwickelte Backup-System eine robuste und praxisnahe Lösung dar, die den sicheren Betrieb der Webanwendung unterstützt und im Fehlerfall eine schnelle Wiederherstellung der Daten ermöglicht.
|
||||||
|
|
||||||
# 6. Benutzerverwaltung und Authentifizierung per LinkedIn
|
# 6. Benutzerverwaltung und Authentifizierung per LinkedIn
|
||||||
## 6.1 Anmeldung über LinkedIn
|
## 6.1 Authentifizierung mittels OAuth 2.0
|
||||||
## 6.2 Profilabgleich und Benutzerverifikation
|
Zur Anmeldung auf der entwickelten Webplattform wurde eine Authentifizierung über das Business-Netzwerk LinkedIn implementiert. Dabei kommt das standardisierte Autorisierungsprotokoll OAuth 2.0 zum Einsatz. Dieses Verfahren ermöglicht es, Benutzer über externe Identitätsanbieter zu authentifizieren, ohne dass deren Zugangsdaten direkt an die Webanwendung übertragen werden müssen.
|
||||||
|
|
||||||
|
OAuth 2.0 basiert auf dem Prinzip der delegierten Autorisierung. Dabei erlaubt ein Benutzer einer Anwendung, bestimmte Informationen seines Kontos bei einem externen Dienst zu verwenden. Die eigentlichen Zugangsdaten – beispielsweise das LinkedIn-Passwort – verbleiben dabei ausschließlich beim Identitätsanbieter.
|
||||||
|
|
||||||
|
Der grundlegende Ablauf einer OAuth-Authentifizierung ist in Abbildung X dargestellt. Dabei wird der Benutzer zunächst zur Login-Seite des externen Anbieters weitergeleitet. Nach erfolgreicher Anmeldung bestätigt der Benutzer, dass die Anwendung Zugriff auf bestimmte Profildaten erhalten darf.
|
||||||
|
 Erstellt von ChatGbt
|
||||||
|
|
||||||
|
Die Abbildung zeigt den Ablauf der OAuth-Authentifizierung. Zunächst erfolgt die Weiterleitung zur LinkedIn-Anmeldeseite, anschließend wird ein Autorisierungscode an die Webanwendung zurückgegeben, welcher gegen einen Zugriffstoken ausgetauscht wird.
|
||||||
|
|
||||||
|
Nach der Autorisierung sendet LinkedIn einen sogenannten Authorization Code an die Webanwendung zurück. Dieser Code wird anschließend vom Server der Anwendung gegen einen Access Token ausgetauscht. Mit Hilfe dieses Tokens kann die Webanwendung anschließend die freigegebenen Benutzerdaten vom LinkedIn-Server abrufen.
|
||||||
|
|
||||||
|
Der Vorteil dieses Verfahrens liegt darin, dass die Webanwendung zu keinem Zeitpunkt Zugriff auf das Passwort des Benutzers erhält. Dadurch wird ein höheres Sicherheitsniveau erreicht und gleichzeitig die Benutzerfreundlichkeit verbessert, da sich Benutzer mit ihrem bestehenden LinkedIn-Konto anmelden können.
|
||||||
|
## 6.2 Technische Umsetzung der LinkedIn-Anmeldung in Oqtane
|
||||||
|
Die technische Umsetzung der LinkedIn-Authentifizierung erfolgte über das integrierte External Login System des Content-Management-Systems Oqtane. Dieses System ermöglicht die Integration externer Identitätsanbieter über standardisierte Protokolle wie OAuth 2.0.
|
||||||
|
|
||||||
|
Für die Verbindung mit LinkedIn wurde zunächst eine Entwickleranwendung im LinkedIn Developer Portal erstellt. Dabei werden zwei zentrale Zugangsdaten generiert:
|
||||||
|
|
||||||
|
Client ID
|
||||||
|
|
||||||
|
Client Secret
|
||||||
|
|
||||||
|
Diese dienen zur Identifikation der Webanwendung gegenüber den LinkedIn-Servern.
|
||||||
|
|
||||||
|
Innerhalb der Oqtane-Konfiguration wurde anschließend ein neuer OAuth-Provider eingerichtet. Dabei mussten mehrere Parameter definiert werden, darunter die Autorisierungs- und Token-Endpunkte von LinkedIn.
|
||||||
|
|
||||||
|
Beispielsweise wird für die Benutzerautorisierung folgende Adresse verwendet:
|
||||||
|
|
||||||
|
https://www.linkedin.com/oauth/v2/authorization
|
||||||
|
|
||||||
|
Nach erfolgreicher Anmeldung stellt LinkedIn über folgenden Endpunkt ein Zugriffstoken bereit:
|
||||||
|
|
||||||
|
https://www.linkedin.com/oauth/v2/accessToken
|
||||||
|
|
||||||
|
Zusätzlich wurde eine sogenannte Redirect URL definiert. Diese URL wird von LinkedIn verwendet, um den Benutzer nach erfolgreicher Authentifizierung wieder zurück zur Webanwendung zu leiten.
|
||||||
|
|
||||||
|
In der Konfiguration wurde außerdem festgelegt, welche Benutzerdaten von LinkedIn übernommen werden sollen. Dazu gehören unter anderem:
|
||||||
|
|
||||||
|
Benutzername
|
||||||
|
|
||||||
|
E-Mail-Adresse
|
||||||
|
|
||||||
|
eindeutige Benutzer-ID
|
||||||
|
|
||||||
|
Diese Daten werden von Oqtane als sogenannte Claims verarbeitet und anschließend dem Benutzerkonto der Plattform zugeordnet.
|
||||||
|
|
||||||
|
Darüber hinaus wurde in den Einstellungen aktiviert, dass bei der ersten Anmeldung automatisch ein neues Benutzerkonto erstellt werden kann. Dadurch können sich neue Nutzer direkt über ihr LinkedIn-Konto registrieren.
|
||||||
|
## 6.3 Ablauf des Anmeldeprozesses
|
||||||
|
Der eigentliche Anmeldevorgang erfolgt in mehreren aufeinanderfolgenden Schritten. Zunächst wählt der Benutzer auf der Login-Seite der Webplattform die Option zur Anmeldung über LinkedIn aus.
|
||||||
|
|
||||||
|
Daraufhin wird der Benutzer zur LinkedIn-Authentifizierungsseite weitergeleitet. Dort meldet sich der Benutzer mit seinem LinkedIn-Konto an und bestätigt die Autorisierung der Anwendung.
|
||||||
|
|
||||||
|
Nach erfolgreicher Authentifizierung sendet LinkedIn eine Antwort an die zuvor definierte Redirect-URL der Webanwendung. Diese Antwort enthält einen Autorisierungscode, der anschließend vom Server der Webanwendung gegen einen Access Token ausgetauscht wird.
|
||||||
|
|
||||||
|
Mit Hilfe dieses Tokens kann die Anwendung anschließend die freigegebenen Benutzerdaten vom LinkedIn-Server abrufen. Diese Daten werden verwendet, um den Benutzer in der lokalen Datenbank zu identifizieren oder ein neues Benutzerkonto zu erstellen.
|
||||||
|
|
||||||
# 7. Implementierung des Premium-Bereichs
|
# 7. Implementierung des Premium-Bereichs
|
||||||
## 7.1 Ziel und Zweck des Premium-Bereichs
|
## 7.1 Ziel und Zweck des Premium-Bereichs
|
||||||
## 7.2 Funktionen und Features des Premium-Zugangs
|
## 7.2 Funktionalität und Features des Premium-Bereichs
|
||||||
## 7.3 Zugriffsbeschränkung und Benutzerrechte
|
## 7.3 Zugriffsbeschränkung und Benutzerrechte
|
||||||
## 7.4 Mehrwert für registrierte Mitglieder
|
## 7.4 Mehrwert für registrierte Mitglieder
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user