`
macken
  • 浏览: 348145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

新浪微博passport登录原理

    博客分类:
  • JS
 
阅读更多

对新浪的passport的流程进行了简单的分析,未深入研究

 

新浪的passport实现主要依托js进行实现,用户登录流程

1.首先请求地址http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.22) 不同js版本地址可能不同;

发送的参数主要包括加密的原始参数、加密后的用户名、密码以及一些入口信息等,用户名、密码的加密方法可以通过查看js看到;client指定的是客户端使用的哪个js进行参数处理;

2.server端验证参数是否正确,如果正确,返回跨域的处理的url。由于新浪的所有产品都统一使用新浪的passport,比如weibo、uc等产品就存在了cookie的跨域问题,需要对这些跨域cookie进行处理,如果是sina.com域下的产品,则不需要执行返回的url,如果是其他域的产品,需要继续执行返回响应域的url;

 

以新浪微博为例;

1.请求http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.22)以后;

2.如果登录成功以后,获取跨域的url http://weibo.com/ajaxlogin.php

3.执行跨域url http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack

完成了新浪微博的登录

 

完全可以使用HttpClient模拟登陆新浪微博

分享到:
评论
2 楼 macken 2013-06-14  
chenweinjupt 写道
你好,请问一下跨域后cookies您是如何处理的?

你可以使用HttpClient将cookie信息序列化到本地,然后再次使用时将cookie反序列化以后附加到HttpClient上
1 楼 chenweinjupt 2013-06-14  
你好,请问一下跨域后cookies您是如何处理的?

相关推荐

    THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等)

    THINKPHP最全第三方登录(包括腾讯QQ、微信、新浪微博、Github、淘宝网、百度、搜狐微博、人人、360、网易等等) 使用方式: 1、使用命名空间 use Org\ThinkSDK\ThinkOauth; 2、设置三方登录的类别并赋予一个变量 $...

    .net passport原理介绍(英文)

    ### .NET Passport原理介绍 #### 一、概述 .NET Passport是微软在1999年推出的一套基于网络的服务集合,旨在为用户提供一种便捷、安全的在线体验。它通过单点登录(Single Sign-In, SSI)功能允许用户在参与.NET ...

    Ecshop 第三方登录插件!,微博,淘宝,QQ,支付宝等

    ecshop 第三方登录包(qq,人人,新浪微博,支付宝快捷)希望对大家有所帮助。 安装说明:一,解压到ecshop根目录,确保可以以例如 http://ecshop根域名/login/renren/authorize.php 访问 二,修改各登录方式文件内...

    passport-weibo:Passport和Node.js的微博身份验证策略

    护照-微博 使用OAuth 2.0 API与新浪进行身份验证的策略。 该模块使您可以在Node.js应用程序中使用微博进行身份验证。 通过插入Passport,微博身份验证可以轻松,毫不费力地集成到任何支持风格中间件(包括应用程序或...

    Passport单点登录接口 介绍 此单点登录接口只涉及应用服务器和passport ....doc

    Passport单点登录接口是一种设计用于简化用户身份验证流程的技术,允许用户在一个系统(如应用服务器)登录后,可以无须再次输入凭证就能访问其他相互信任的系统(如多个关联的应用)。这种接口使得多系统的用户体验...

    两个windows的端口转发工具,passport和fpipe

    标题中的“两个Windows的端口...源码标签表明了这两个工具可能提供了源代码,这意味着用户可以查看其内部工作原理,甚至根据需要进行定制和扩展。对于学习网络编程和技术爱好者来说,这是一个很好的实践和研究平台。

    PASSPORT端口转发器

    PASSPORT端口转发器 ,服务启动,懂的入。

    node-express-passport-mysql, 登录 Express + Passport + MySQL.zip

    node-express-passport-mysql, 登录 Express + Passport + MySQL 使用MySQL完成 node-身份验证的完整指南整个 scotch.io 教程系列的代码: 使用MongoDB完成 node 认证的完整指南当前版本数据库被移植到 MySQL我们将...

    Laravel API Passport认证的安装与配置和获取token及刷新accesstoken

    "Laravel API Passport 认证安装配置获取 Token 及刷新 Access Token" Laravel API Passport 认证是一个强大且灵活的认证系统,提供了一个完整的身份验证和授权解决方案。本文将详细介绍 Laravel API Passport 认证...

    前端开源库-passport-google-oauth

    7. **保护路由**:对于需要用户登录才能访问的路由,你可以使用Passport的中间件来确保只有已认证的用户才能访问。 通过Passport-Google-OAuth,开发者可以快速地将Google登录整合到他们的应用中,而无需深入理解...

    passport_流程图

    Passport的主要目的是简化Web应用程序的身份验证过程,使开发者能够专注于构建功能,而不是处理登录、注册和其他安全相关的任务。流程图在此场景中扮演着至关重要的角色,因为它可视化了Passport的工作流程,帮助...

    passport-oauth2, 用于 Passport 和 node.js的OAuth 2.0认证策略.zip

    passport-oauth2, 用于 Passport 和 node.js的OAuth 2.0认证策略 passport-oauth2 通用 OAuth 2.0认证策略用于 Passport 。这个模块允许你在 node.js 应用程序中使用 OAuth 2.0进行身份验证。 通过插入 Passport,...

    Passport.rar

    开发者可以定义或使用预定义的策略,如`passport-local`(用于本地账户认证)或`passport-facebook`(用于Facebook登录)。源代码揭示了如何创建和集成这些策略,以及它们如何与Passport框架交互。 3. **会话管理**...

    前端开源库-passport-steam

    **Passport-Steam:前端身份验证的利器** `Passport-Steam` 是一个基于 `Passport` 框架的前端开源库,专门用于处理 `Steam` 社区的 `OpenID 2` 身份验证策略。在互联网应用中,用户认证是一个核心功能,而 `...

    前端开源库-passport-http

    通过`passport-http-master`这个压缩包文件,你将获得`passport-http`的源代码,这有助于深入了解其工作原理,便于定制或扩展。你可以查看`index.js`文件,理解核心策略的实现;查看`examples`目录,学习如何在实际...

    weiboCrawler:微博爬虫,支持自动登录

    保存cookie登录网页版微博 输入地址 chrome://settings/cookies/detail?site=login.sina.com.cn 点击ALC,复制内容.输入地址 chrome://settings/cookies/detail?site=passport.weibo.co 分别点击SRF, SRT,复制内容...

    新浪手机登录流程

    ### 新浪手机登录流程解析 #### 一、概述 本文档将详细介绍新浪手机登录流程,主要聚焦于2016年8月时测试可用的方法。该登录流程适用于微博手机版,通过对登录过程中的关键步骤进行详细解析,帮助用户理解整个登录...

    Laravel开发-laravel-passport-mongo

    在本文中,我们将深入探讨如何在Laravel框架中结合Passport和MongoDB,实现OAuth2服务器功能。Laravel Passport是Laravel官方提供的一个强大的API工具包,它使得创建和管理API令牌变得简单易行。而将Passport与...

    Laravel开发-passport 构建 OAuth2 服务器

    Laravel开发-passport 构建 OAuth2 服务器 Laravel官方维护的OAuth2服务扩展包——在Laravel中,实现基于传统表的登录和授权已经非常简单,但如何满足API场景下的授权需求呢?在API场景中通常通过命令牌来实现用户...

    Laravel开发-laravel-mongodb-passport

    在本文中,我们将深入探讨如何在 Laravel 开发中结合使用 `laravel-mongodb-passport` 包,以便在基于 MongoDB 的应用中实现 OAuth2 认证。`laravel-mongodb-passport` 是一个专为 Laravel/Passport 设计的扩展,它...

Global site tag (gtag.js) - Google Analytics