Heim php教程 PHP开发 PHP-Implementierungsmethode für SSO Single Sign-On (Laravel-Framework)

PHP-Implementierungsmethode für SSO Single Sign-On (Laravel-Framework)

Dec 28, 2016 pm 04:12 PM

Laravel ist ein einfaches und elegantes PHP-Webentwicklungs-Framework (PHP Web Framework). Es kann Sie von unordentlichen Codes wie Nudeln befreien; es kann Ihnen helfen, eine perfekte Netzwerk-APP zu erstellen, und jede Codezeile kann prägnant und ausdrucksstark sein.

Lassen Sie mich kurz meine Logik erklären. Ich weiß nicht, ob ich SSO richtig verstehe.

Angenommen, es gibt drei Websites: a.baidu.com b.baidu.com c.baidu.com

a.baidu.com meldet sich bei dem Konto als an verifizierter Benutzer.

b und c fungieren als Clients (Subsysteme).

b und c springen zu a, wenn sie sich anmelden müssen, und tragen den Parameter source, um den Link anzugeben, zu dem nach der Anmeldung gesprungen werden soll.

Eine Site ist eine normale Anmeldemethode (Überprüfung des Benutzerkennworts), und nach erfolgreicher Überprüfung werden einige Verarbeitungsvorgänge durchgeführt. Ein Ticket muss erstellt werden. Es spielt keine Rolle, wie Sie es erstellen, solange es sicher ist. Dann speichern Sie es im Cache. Wenn Sie hier Fragen haben, fasse ich diese später zusammen. Springen Sie nach erfolgreicher Anmeldung einfach zu (url.

``` php private function getTicketUrl(\)source)
{
\(ticket = md5(time()+key); Cache::put(\)ticket, $user, 120);
$url = $source . '?ticket=' . $ticket;
return $url;
}
Nach dem Login kopieren

Angenommen, Station A springt mit einem Ticket (b.baidu.com?ticket=xxxxxxxxxxxxxxx```) zu Station B.

Site b erstellt einen globalen Filter, akzeptiert das Ticket und fordert dann Station a auf, zu überprüfen, ob das Ticket von a generiert wurde.

Site b filtert den AppHttpMiddlewareCasAuthenticate-Code. Hier wird festgestellt, ob dies der Fall ist Ein Ticket wird zur Überprüfung an Station a gesendet, die Benutzer-UID wird abgerufen und die Logik wird vervollständigt, aber es gibt ein paar Fragen.

1 ist richtig. Ich habe es nach dem Prinzip geschrieben
public function handle($request, Closure $next)
{
$ticket = $request->input('ticket');
if ($ticket) {
$result = json_decode('http://a.baidu.com' . '/auth/check-ticket?ticket=' . $ticket), true);
if ($result['state'] == "SUCCESS") {
$request->session()->flush();
Auth::loginUsingId($result['result']['uid']);
return redirect(redirect()->getUrlGenerator()->current());
}
}
return $next($request);
Nach dem Login kopieren


2. Wenn Station B jetzt häufiger aktiv ist und die Sitzung immer dort ist, während die Cache-Zeit Von Site A ist höchstwahrscheinlich abgelaufen. Zu diesem Zeitpunkt springt Site B zu Site C, und Site C springt zu Site A, um die Anmeldung zu ermitteln. Es stellt sich heraus, dass sie abgelaufen ist Dies ist ein Problem. Da unser Geschäftsmodul nicht relevant ist, werden wir dieses Problem vorerst nicht berücksichtigen.

Dieser Editor wird Ihnen das vorstellen PHP-Implementierungsmethode für SSO-Single-Sign-On (Laravel-Framework).

Weitere PHP-Implementierungsmethoden für SSO-Single-Sign-On (Laravel-Framework). Beachten Sie die chinesische PHP-Website

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)