OpenID Connect ist eine Authentifizierungs- und Autorisierungsvereinbarung, die auf OAuth 2.0 basiert und es Benutzern ermöglicht, sich mit vorhandenen Konten über Drittanbieter (wie Google, Facebook usw.) anzumelden. Es bietet Entwicklern Standard- und sichere Benutzer -Authentifizierungsmethoden, die ein nahtloses Anmeldeerlebnis in Anwendungen erleichtert.
Vor Beginn der Entwicklung müssen Sie bestätigen, dass PHP und gemeinsame Komponenten wie OpenSSL, Curl und JSON -Unterstützung in der Serverumgebung installiert sind. Wenn es nicht installiert ist, kann die Installation abgeschlossen werden, indem der folgende Befehl folgt:
$ sudo apt-get install php openssl php-curl php-json
Zunächst müssen Sie eine Client -Anwendung in der Entwicklerkonsole des OpenID -Anbieters erstellen. Während des Erstellungsprozesses müssen Sie eine eindeutige Client -ID und ein Client -Geheimnis (Client -Geheimnis) festlegen und eine Umleitungs -URL konfigurieren, nachdem die Autorisierung erfolgreich beim Empfangen von Authentifizierungsantworten ist.
Führen Sie die erforderlichen PHP -Bibliotheksdateien ein:
require_once 'vendor/autoload.php';
use OpenIDConnectClient;
Erstellen Sie eine Clientinstanz und konfigurieren Sie Parameter:
$clientID = 'your-client-id';
$clientSecret = 'your-client-secret';
$redirectURL = 'your-redirect-url';
$oidc = new OpenIDConnectClient($clientID, $clientSecret);
$oidc->setRedirectURL($redirectURL);
$oidc->setProviderURL('https://your-openid-provider.com');
Initiieren Sie eine Authentifizierungsanforderung und behandeln Sie Rückrufe:
if (!isset($_GET['code'])) {
// Der Benutzer hat noch nicht überprüft,Auf der Authentifizierungsseite umleiten
$authorizationURL = $oidc->getAuthorizationURL();
header('Location: ' . $authorizationURL);
exit;
} else {
// Benutzer verifiziert,Verwenden Sie den Autorisierungscode, um das Zugriffsstoken zu erhalten
$code = $_GET['code'];
$oidc->authenticate($code);
$accessToken = $oidc->getAccessToken();
$userInfo = $oidc->requestUserInfo();
// Hier können Sie Benutzeranmeldungs- oder Geschäftslogikverarbeitung verwenden
}
Mit OpenID Connect können PHP -Anwendungen eine sichere und standardisierte Benutzerauthentifizierung erreichen. Registrieren Sie den Client einfach beim Anbieter und vervollständigen Sie die Authentifizierung und Benutzerinformationserfassung über einen einfachen Codeprozess, wodurch die Sicherheits- und Benutzererfahrung der Anwendung erheblich verbessert wird. Diese Lösung vermeidet das Risiko einer Selbstverarbeitungsprüfung und unterstützt mehrere Mainstream-Identitätsanbieter, die für verschiedene PHP-Projekte geeignet sind.