Rumah pembangunan bahagian belakang tutorial php Sina SSO 登陆过程分析

Sina SSO 登陆过程分析

Dec 01, 2016 am 11:14 AM
sso

近日研究了 Sina CAS 的登陆过程,发现其实 sina 的 sso 实现了 yale-CAS 并且添加一丁点新的东西,基本认证过程交互流程仍然未变。其独创的一点是实现了 Ajax 单点登陆,算是比较牛。实现原理是 iframe+ javaScript 回调函数。

一,初级 SSO

初级的 SSO ,就是在同一个顶级域名下,通过种入顶级域名的 Cookie ,来实现统一登陆。例如:

单点登陆地址: sso.xxx.com/login.jsp

应用 1 : web1.xxx.com/login.jsp

应用 2 : web2.xxx.com/login.jsp

应用 3 : web3.xxx.com/login.jsp

登陆流程:

情况一:(用户从未登陆)

1,  用户访问 web1.xxx.com/login.jsp , web1 重定向到 sso.xxx.com/login.jsp

2,  用户输入验证,成功。 sso.xxx.com 种入 .xxx.com 域 Cookie 的 tokenid ,重定向到 web1.xxx.com/login.jsp, web1.xxx.com 访问 .xxx.com 域 Cookie 的 tokenid 判断出已经登陆,系统登陆完成。

情况二:(用户已经登陆)直接登陆。

二, Sina SSO

Sina 实现了跨域名的统一登陆,本质也是基于 Cookie 的。如果用户禁用 Cookie ,那么无论如何也是登陆不了的。例如: Sina SSO 服务器是 login.sina.com.cn/sso/login.php

,微博登陆地址为 weibo.com/login.php 。通过回调函数和 iframe 实现了跨一级域名的登陆。

认证过程具体流程:这里只介绍用户从未登陆过。

1,  用户进入 weibo.com/login.php

2,  用户输入用户名称。输入完毕后,当用户名输入框焦点失去的时候,页码通过 ajax 向服务器login.sina.com.cn/sso/prelogin.php 发送请求,参数为 user (刚刚输入的用户名)。服务返回 server time 和nonce 认证,通过回调函数写入到 javascript 变量中。

3,  用户输入密码,点击登陆,页面 POST 请求(注意是 ajax 请求,并不是 login.php 发送的 ),

login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.12) ,请求的发起的页面是 weibo.com/login.php 中的一个不可见 iframe 页面,参数为第二步得到的 server time 和 nonce ,已经用户名称和加密的密码。返回种入Cookie  tgt 在 login.sina.com.cn 下。同时修改 iframe 地址为 weibo.com/ajaxlogin.php?ticket=XXXXXX, 注意ticket 非常重要,这是用户登陆和服务的凭证。

4,  iframe 访问 weibo.com/ajaxlogin.php?ticket=XXXXXX ,用户登陆,返回种入 cookie 在 .weibo.com 下,记录用户登陆信息。

5,  通过 js 再次访问 weibo.com/login.php ,因为 cookie 已经写入,登陆成功,服务器发送 302 ,重定向到用户主页面。 Weibo.com/userid 。

6,  至此,登陆过程完成。

 

重点:交互过程和密码加密算法分析。


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara menggunakan PHP untuk melaksanakan log masuk tunggal SSO yang cekap dan stabil Cara menggunakan PHP untuk melaksanakan log masuk tunggal SSO yang cekap dan stabil Oct 15, 2023 pm 02:49 PM

Cara menggunakan PHP untuk melaksanakan log masuk tunggal SSO yang cekap dan stabil Pengenalan: Dengan populariti aplikasi Internet, pengguna berhadapan dengan sejumlah besar proses pendaftaran dan log masuk. Untuk meningkatkan pengalaman pengguna dan mengurangkan pendaftaran pengguna dan selang log masuk, banyak tapak web dan aplikasi telah mula menggunakan teknologi log masuk tunggal (Single Sign-On, dirujuk sebagai SSO). Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan log masuk tunggal SSO yang cekap dan stabil serta memberikan contoh kod khusus. 1. Prinsip daftar masuk tunggal SSO Log masuk tunggal SSO ialah penyelesaian pengesahan identiti

OAuth dalam PHP: Membina penyelesaian SSO berbilang platform OAuth dalam PHP: Membina penyelesaian SSO berbilang platform Jul 28, 2023 pm 09:38 PM

OAuth dalam PHP: Membina Penyelesaian SSO Berbilang Platform Dengan perkembangan pesat Internet, ia telah menjadi kebiasaan bagi orang ramai untuk menggunakan pelbagai aplikasi dalam berbilang platform. Ini menimbulkan persoalan: Bagaimana untuk melaksanakan log masuk tunggal (SSO) antara platform yang berbeza? OAuth (Keizinan Terbuka) telah menjadi pilihan terbaik untuk menyelesaikan masalah ini. OAuth ialah standard terbuka yang membolehkan pengguna membenarkan aplikasi pihak ketiga mengakses sumber Internet mereka tanpa berkongsi bukti kelayakan mereka. OAuth boleh digunakan untuk membina berbilang

Bincangkan keselamatan dan pencegahan kerentanan PHP SSO single sign-on Bincangkan keselamatan dan pencegahan kerentanan PHP SSO single sign-on Oct 15, 2023 pm 02:36 PM

Keselamatan dan pencegahan kelemahan PHPSSO single sign-on 1. Pengenalan Dengan perkembangan Internet, semakin banyak laman web telah melaksanakan fungsi pengesahan pengguna. Walau bagaimanapun, pengguna perlu memasukkan nombor akaun dan kata laluan mereka setiap kali mereka log masuk ke laman web yang berbeza, yang menyusahkan dan mudah dilupakan. Untuk menyelesaikan masalah ini, Single Sign-On (SSO) telah wujud. SSO ialah penyelesaian untuk pengesahan identiti pengguna pada berbilang tapak web Pengguna hanya perlu log masuk sekali untuk mencapai akses lancar ke tapak web lain. 2. PH

Mari kita bincangkan tentang cara melaksanakan log masuk tunggal (SSO) berdasarkan Node Mari kita bincangkan tentang cara melaksanakan log masuk tunggal (SSO) berdasarkan Node Dec 06, 2022 pm 07:49 PM

Apakah itu log masuk tunggal? Apakah prinsipnya? Bagaimana untuk mencapainya? Artikel berikut akan membawa anda melalui log masuk tunggal dan bercakap tentang cara menggunakan Node untuk melaksanakan SSO log masuk tunggal Saya harap ia akan membantu anda.

Amalan reka bentuk sistem daftar masuk tunggal SSO berdasarkan Swoole Amalan reka bentuk sistem daftar masuk tunggal SSO berdasarkan Swoole Jun 14, 2023 pm 04:08 PM

Dengan perkembangan pesat Internet, semakin banyak laman web dan aplikasi perlu melaksanakan fungsi log masuk tunggal pengguna (Single Sign-On, SSO) untuk menyediakan pengalaman pengguna yang lebih mudah dan selamat. Dalam konteks ini, sistem log masuk tunggal SSO berdasarkan Swoole secara beransur-ansur menjadi topik hangat dalam industri. Artikel ini akan memperkenalkan cara mereka bentuk dan melaksanakan sistem log masuk tunggal SSO berdasarkan Swoole. 1. Idea reka bentuk sistem daftar masuk tunggal SSO Tujuan sistem daftar masuk tunggal SSO adalah untuk membolehkan pengguna log masuk ke sistem.

Amalan terbaik terkini untuk Java JAAS Amalan terbaik terkini untuk Java JAAS Feb 23, 2024 pm 10:52 PM

1. Gambaran Keseluruhan JAAS JavaJAAS (JavaAuthenticationandAuthorizationService) ialah rangka kerja untuk penyepaduan log masuk tunggal (SSO) berbilang sistem, kawalan akses berasaskan peranan (RBAC) dan pengurusan kebenaran. JAAS membenarkan aplikasi untuk melindungi akses kepada data atau sumber dan mentakrifkan mekanisme kawalan capaian. 2. Amalan terbaik terkini JAAS 1. Gunakan JAAS untuk pengesahan JAAS menyediakan dua kaedah pengesahan utama: Pengesahan berasaskan token: Kaedah ini menggunakan token (contohnya, nama pengguna dan kata laluan) untuk mengesahkan identiti pengguna. Pengesahan berasaskan pensijilan: Kaedah ini menggunakan pensijilan (contohnya, sijil digital) untuk mengesahkan identiti pengguna. 2

Kes aplikasi praktikal PHP SSO log masuk tunggal dalam penyepaduan berbilang sistem Kes aplikasi praktikal PHP SSO log masuk tunggal dalam penyepaduan berbilang sistem Oct 15, 2023 am 11:45 AM

Kes aplikasi praktikal log masuk tunggal PHPSSO dalam penyepaduan berbilang sistem Pengenalan: Dengan perkembangan pesat Internet dan pertumbuhan keperluan pengguna, semakin banyak laman web dan aplikasi perlu melaksanakan fungsi log masuk tunggal pengguna (SSO). Sebagai bahasa skrip bahagian pelayan yang digunakan secara meluas, PHP adalah fleksibel, ringkas dan mudah untuk disepadukan, menjadikannya pilihan pertama banyak pembangun. Artikel ini akan memperkenalkan penyelesaian log masuk tunggal berasaskan PHP dan menunjukkan aplikasinya dalam penyepaduan berbilang sistem melalui kes praktikal. 1. Apakah itu log masuk tunggal?

Pemahaman mendalam tentang prinsip kerja dan mekanisme teknikal log masuk tunggal SSO PHP Pemahaman mendalam tentang prinsip kerja dan mekanisme teknikal log masuk tunggal SSO PHP Oct 15, 2023 am 09:19 AM

Memahami dengan mendalam prinsip kerja dan mekanisme teknikal log masuk tunggal PHPSSO Dengan perkembangan pesat Internet, bilangan pelbagai laman web dan aplikasi juga semakin meningkat. Untuk mengakses laman web dan aplikasi yang berbeza, pengguna perlu mendaftar akaun dan kata laluan yang berbeza masing-masing, yang membawa kesulitan dan kegusaran kepada pengguna. Untuk menyelesaikan masalah ini, Single Sign-On (SSO) telah wujud. SSO ialah sistem kebenaran dan pengesahan yang membolehkan pengguna mengakses berbilang sistem dengan lancar selepas mereka berjaya log masuk. Artikel ini akan memberikan pemahaman yang mendalam tentang P

See all articles