Sina 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, 至此,登陆过程完成。
重点:交互过程和密码加密算法分析。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment utiliser PHP pour obtenir une authentification unique SSO efficace et stable Introduction : Avec la popularité des applications Internet, les utilisateurs sont confrontés à un grand nombre de processus d'inscription et de connexion. Afin d'améliorer l'expérience utilisateur et de réduire les intervalles d'enregistrement et de connexion des utilisateurs, de nombreux sites Web et applications ont commencé à adopter la technologie d'authentification unique (Single Sign-On, appelée SSO). Cet article explique comment utiliser PHP pour implémenter une authentification unique SSO efficace et stable et fournit des exemples de code spécifiques. 1. Principe de l'authentification unique SSO L'authentification unique SSO est une solution d'authentification d'identité

OAuth en PHP : créer une solution SSO multiplateforme Avec le développement rapide d'Internet, il est devenu la norme pour les utilisateurs d'utiliser diverses applications sur plusieurs plates-formes. Cela soulève une question : comment mettre en œuvre l’authentification unique (SSO) entre différentes plateformes ? OAuth (Open Authorization) est devenu un excellent choix pour résoudre ce problème. OAuth est un standard ouvert qui permet aux utilisateurs d'autoriser des applications tierces à accéder à leurs ressources Internet sans partager leurs informations d'identification. OAuth peut être utilisé pour créer un multi-

Sécurité et prévention des vulnérabilités de l'authentification unique PHPSSO 1. Introduction Avec le développement d'Internet, de plus en plus de sites Web ont mis en œuvre des fonctions d'authentification des utilisateurs. Cependant, les utilisateurs doivent saisir leur numéro de compte et leur mot de passe à chaque fois qu’ils se connectent à différents sites Web, ce qui est peu pratique et facile à oublier. Afin de résoudre ce problème, le Single Sign-On (SSO) a vu le jour. SSO est une solution d'authentification de l'identité des utilisateurs sur plusieurs sites Web. Les utilisateurs n'ont besoin de se connecter qu'une seule fois pour accéder de manière transparente aux autres sites Web. 2. PH

Qu’est-ce que l’authentification unique ? Quel est le principe ? Comment y parvenir ? L'article suivant vous présentera l'authentification unique et expliquera comment utiliser Node pour implémenter l'authentification unique. J'espère qu'il vous sera utile !

Avec le développement rapide d'Internet, de plus en plus de sites Web et d'applications doivent mettre en œuvre des fonctions d'authentification unique (Single Sign-On, SSO) pour offrir une expérience utilisateur plus pratique et plus sécurisée. Dans ce contexte, le système d’authentification unique SSO basé sur Swoole est progressivement devenu un sujet brûlant dans l’industrie. Cet article explique comment concevoir et mettre en œuvre un système d'authentification unique SSO basé sur Swoole. 1. Idée de conception du système d'authentification unique SSO L'objectif du système d'authentification unique SSO est de permettre aux utilisateurs de se connecter à un système.

1. Présentation de JAAS JavaJAAS (JavaAuthenticationandAuthorizationService) est un framework pour l'intégration de l'authentification unique (SSO) multisystème, le contrôle d'accès basé sur les rôles (RBAC) et la gestion des autorisations. JAAS permet aux applications de protéger l'accès aux données ou aux ressources et de définir des mécanismes de contrôle d'accès. 2. Les dernières bonnes pratiques de JAAS 1. Utiliser JAAS pour l'authentification JAAS propose deux méthodes d'authentification principales : Authentification basée sur les jetons : Cette méthode utilise des jetons (par exemple, nom d'utilisateur et mot de passe) pour vérifier l'identité de l'utilisateur. Authentification basée sur la certification : cette méthode utilise une certification (par exemple, un certificat numérique) pour vérifier l'identité de l'utilisateur. 2

Cas d'application pratiques de l'authentification unique PHPSSO dans l'intégration multi-systèmes Introduction : Avec le développement rapide d'Internet et la croissance des besoins des utilisateurs, de plus en plus de sites Web et d'applications doivent implémenter des fonctions d'authentification unique (SSO) utilisateur. En tant que langage de script côté serveur largement utilisé, PHP est flexible, simple et facile à intégrer, ce qui en fait le premier choix de nombreux développeurs. Cet article présentera une solution d'authentification unique basée sur PHP et démontrera son application dans l'intégration multi-systèmes à travers des cas pratiques. 1. Qu'est-ce que l'authentification unique ?

Comprendre en profondeur le principe de fonctionnement et le mécanisme technique de l'authentification unique PHPSSO. Avec le développement rapide d'Internet, le nombre de sites Web et d'applications divers augmente également. Afin d'accéder à différents sites Web et applications, les utilisateurs doivent respectivement enregistrer différents comptes et mots de passe, ce qui entraîne des désagréments et des désagréments pour les utilisateurs. Afin de résoudre ce problème, le Single Sign-On (SSO) a vu le jour. SSO est un système d'autorisation et d'authentification qui permet aux utilisateurs d'accéder de manière transparente à plusieurs systèmes après s'être connectés avec succès. Cet article fournira une compréhension approfondie de P
