SSO学习文档
SSO 英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。
一:SSO技术实现机制
当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。
要实现SSO,需要以下主要的功能:
1、所有应用系统共享一个身份认证系统
统一的认证系统是SSO的前提之一。认证系统的主要功能是将用户的登录信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统应该生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行校验,判断其有效性。
2、所有应用系统能够识别和提取ticket信息
要实现SSO的功能,让用户只登录一次,就必须让应用系统能够识别已经登录过的用户。应用系统应该能对ticket进行识别和提取,通过与认证系统的通讯,能自动判断当前用户是否登录过,从而完成单点登录的功能。
另外:
1、单一的用户信息数据库并不是必须的,有许多系统不能将所有的用户信息都集中存储,应该允许用户信息放置在不同的存储中,事实上,只要统一认证系统,统一ticket的产生和校验,无论用户信息存储在什么地方,都能实现单点登录。
2、统一的认证系统并不是说只有单个的认证服务器
认证服务器之间要通过标准的通讯协议,互相交换认证信息,就能完成更高级别的单点登录。如:当用户在访问应用系统1时,由第一个认证服务器进行认证后,得到由此服务器产生的ticket。当他访问应用系统2的时候,认证服务器2能够识别此ticket是由第一个服务器产生的,通过认证服务器之间标准的通讯协议(例如SAML)来交换认证信息,仍然能够完成SSO的功能。
二:WEB-SSO的实现
用户在访问页面1的时候进行了登录,但是客户端的每个请求都是单独的连接,当客户再次访问页面2的时候,如何才能告诉Web服务器,客户刚才已经登录过了呢?浏览器和服务器之间有约定:通过使用cookie技术来维护应用的状态。Cookie是可以被Web服务器设置的字符串,并且可以保存在浏览器中。当浏览器访问了页面1时,web服务器设置了一个cookie,并将这个cookie和页面1一起返回给浏览器,浏览器接到cookie之后,就会保存起来,在它访问页面2的时候会把这个cookie也带上,Web服务器接到请求时也能读出cookie的值,根据cookie值的内容就可以判断和恢复一些用户的信息状态。Web-SSO完全可以利用Cookie技术来完成用户登录信息的保存,将浏览器中的Cookie和上文中的Ticket结合起来,完成SSO的功能。
为了完成一个简单的SSO的功能,需要两个部分的合作:
1、统一的身份认证服务。
2、修改Web应用,使得每个应用都通过这个统一的认证服务来进行身份校验。
很多的网站都有用到SSO技术,
新浪的用户登录也是用到的SSO技术.
实现SSO的技术主要有:
(1)、基于cookies实现,需要注意如下几点:如果是基于两个域名之间传递sessionid的方法可能在windows中成立,在unix&linux中可能会出现问题;可以基于数据库实现;在安全性方面可能会作更多的考虑。另外,关于跨域问题,虽然cookies本身不跨域,但可以利用它实现跨域的SSO。
(2) Broker-based(基于经纪人),例如Kerberos等;这种技术的特点就是,有一个集中的认证和用户帐号管理的服务器。经纪人给被用于进一步请求的电子的身份存取。中央数据库的使用减少了管理的代价,并为认证提供一个公共和独立的"第三方"。例如Kerberos,Sesame,IBM KryptoKnight(凭证库思想)等。Kerberos是由麻省理工大学发明的安全认证服务,当前版本V5,已经被UNIX和Windows作为默认的安全认证服务集成进操作系统。
(3) Agent-based(基于代理人)在这种解决方案中,有一个自动地为不同的应用程序认证用户身份的代理程序。这个代理程序需要设计有不同的功能。比如,它可以使用口令表或加密密钥来自动地将认证的负担从用户移开。代理人被放在服务器上面,在服务器的认证系统和客户端认证方法之间充当一个"翻译"。例如SSH等。
(4) Token-based,例如SecurID,WebID,现在被广泛使用的口令认证,比如FTP,邮件服务器的登录认证,这是一种简单易用的方式,实现一个口令在多种应用当中使用。
(5) 基于网关Agent and Broker-based,这里不作介绍。
(6) 基于安全断言标记语言(SAML)实现,SAML(Security Assertion Markup Language,安全断言标记语言)的出现大大简化了SSO,并被OASIS批准为SSO的执行标准。开源组织OpenSAML 实现了 SAML 规范。
CAS由耶鲁大学开发的单点登录系统(SSO,single sign-on),应用广泛,具有独立于平台的,易于理解,支持代理功能。
下面给出一个详细设计说明书,是在百度上下的,给出原版连接:http://wenku.baidu.com/view/d68a184bfe4733687e21aa9f.html
单点登录系统(SSO)详细设计说明书
1、引言
1.1编写目的
为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书。同时,说明书也发挥与策划和设计人员更好地沟通的作用。
1.2背景
a.鉴于集团运营的多个独立网站(称为成员站点),每个网站都具有自己的身份验证机制,这样势必造成:生活中的一位用户,如果要以会员的身份访问网站,需要在每个网站上注册,并且通过身份验证后,才能以会员的身份访问网站;即使用户以同样的用户名与密码在每个网站上注册时,虽然可以在避免用户名与密码的忘记和混淆方面有一定的作用,但是用户在某一段时间访问多个成员站点或在成员站点间跳转时,还是需要用户登录后,才能以会员的身份访问网站。这样不仅给用户带来了不便,而且成员网站为登录付出了性能的代价;
b.如果所有的成员网站,能够实现单点登录,不仅在用户体验方面有所提高,而且真正体现了集团多个网站的兄弟性。通过这种有机结合,能更好地体现公司大平台,大渠道的理念。同时,这样做也利于成员网站的相互促进与相互宣传。正是出于上面的两点,单点登录系统的开发是必须的,是迫在眉睫的。
1.3定义
单点登录系统提供所有成员网站的“单一登录”入口。本系统的实质是含有身份验证状态的变量,在各个成员网站间共用。单点登录系统,包括认证服务器(称Passport服务器),成员网站服务器。
会员:用户通过Passport服务器注册成功后,就具有了会员身份。
单一登录:会员第一次访问某个成员网站时,需要提供用户名与密码,一旦通过Passport服务器的身份验证,该会员在一定的时间内,访问任何成员网站都不需要再次登录。
Cookie验证票:含有身份验证状态的变量。由Passport服务器生成,票含有用户名,签发日期时间,过期日期时间和用户其它数据。
2、任务概述
2.1目标
SSO系统,是集团统一的Passport,SSO系统分两个阶段实施。第一阶段对于新注册的用户提供单点登录的功能。第二阶段,整合各个成员网站已有会员到单点登录系统中。
Passport服务器作为各个成员网站的惟一身份验证入口,需要考虑其性能,扩展性,稳定性,安全性和维护成本。尤其要注意第二阶段的开发,做到统筹考虑。
2.2最终用户的特点
最终用户是数以万计网民。这就确定了用户使用电脑的水平是参差不齐的,在开发单点登录系统时,力争做到界面友好,措词简单明了。用户不用学习,就能使用该系统。
3、需求规定
3.1 需求概述
1)注册:
a.成员网站重定向到Passport服务器的注册页面,并且带有返回URL和成员网站ID。
b.通过Passport注册页面创建会员后,保存会员验证票到数据库和passport服务器所在域cookie中。同时,在成员网站的数据库上创建与Passport服务器数据库中会员的映射关系。
c. 重定向到成员网站,填写会员个性信息。
d. 保存会员个性信息,并把重定向传入的验证票保存到本地cookie和创建Session状态变量。
2)登录:
a、 SSO系统要实现各个成员网站的无缝结合,只要会员经过了认证服务器的登录验证(Passport服务器),该会员访问其它任何的网站时,都不需要再次登录。
b、 会员在第一次登录时,Passport服务器验证身份之后,生成的cookie验证票,只需保存到Passport服务器所在域的cookie中,不能采用向每个成员网站所在的域中写cookie,防止响应时间太长,给会员带来不友好的浏览体验。同时,把下发给会员的cookie票保存到Passport服务器的数据库中,方便验证方式和会员行为统计的扩展。
c、 会员一经通过身份验证,成功登录了某个成员网站(假设为网站A),需要利用Session和cookie两种方式保存会员已经登录的状态。
d、 同一个浏览器进程中,会员在网站A的页面间跳转时,只需要根据Session中的状态变量加载登录框。不需要再与Passport服务器通信验证会员的身份。
e、 会员通过验证登录了网站A,若会员从网站A跳转或重新打开浏览器登录其它成员网站(假设网站B),都需要与Passport服务器通信验证会员的票。但是,这次验证不要Passport服务器与数据库中保存的验证票进行比较验证,只需要验证Passport服务器域中的cookie验证票据有效即可。
f、对于验证cookie票,能够实现加密和数字签名保证cookie的机密性,完整性和不可抵赖性。
g、 若果Passport服务器Down掉后,仍可以直接登录成员网站。
说明:上面高亮显示的表示二期开发功能。
3)登出、修改密码、找回密码和成员网站间的跳转,请查看IPO图表中相应的模块描述。
3.2对功能的规定
SSO系统包括注册、登录、登出、密码修改、密码找回、成员网站间跳转与用户管理模块。本说明书使用HIPO图描述系统机构和模块内部处理功能,它主要包括层次结构图和IPO图两个部分。层次结构图描述了整个系统的结构以及各个模块之间的关系;IPO图则描述了在某个特定模块内部的输入(I)、处理过程(P)、输出(O)思想。
A、系统结构图
图1 SSO系统结构图
B、层次结构图
图2系统层次结构图
C、IPO图表
备注:红色高亮部分,表示修改的逻辑
模块名称:会员注册 |
使用者:Passport服务器与各成员网站 |
||
输入部分 I |
处理描述 P |
输出部分 O |
|
1. 重定向到Passport服务器,带 有返回URL和成员网站ID 2. 输入信息:邮箱、密码、区域(暂时没有使用验证码)。 3 3.提交注册信息,发出注册请求。 4.注册用户从邮件中获得验证码,利用验证号激活用户,此时用户将成为合法会员。 5.会员个性信息(在成员网站填写) |
1.邮箱是否可用的实时检查,及时提示邮箱是否可用(这里的可用仅仅是表示符合邮箱的规范,并且该邮箱没有被注册,不表示真正的可用)。 2.密码安全级别实时提示。根据字符长度、含有字符的种类,计算安全级别,并实时提示用户。安全级别分为:太短,差,良,优四个等级。 3.根据区域数据库,获得区域信息下拉框,结合会员区域IP,实现区域自动筛选,在允许的误差范围内不需手动选择区域。 4. 建立新会员 (1)验证会员提交的注册信息,若合法,把用于激活帐号的验证码发送到会员测试使用的邮箱中。 (2)会员使用验证码激活帐号,若激活成功,保存会员信息和会员验证票到数据库(Passport服务器数据库),并且验证票也保存到cookie中。同时调用成员网站的Web Service接口,把刚才产生的Passid保存到成员网站数据库中(建立映射关系)。 (3)重定向到成员网站。 (4)成员网站接收数据,提示会员填写个性信息,并提交到成员网站服务器。 (5)保存个性信息与接收的会员验证信息到成员网站数据库与cookie中,同时在Session中保存会员已验证的状态信息。 (5)导航会员到某个页面。 |
1. Passort服务器保存新会员信息和会员验证票到数据库中。 2. 成员网站Web Service,在成员网站数据库中添加会员信息,利用Passid建立与Passport服务器上会员的映射关系,并返回操作成功或失败状态信息。 3. 修改成员网站数据库中会员的个性信息。 4.保存会员验证票到cookie中,同时保存会员通过验证的状态到Session中。 |
|
|
|
|
|
表1:会员注册模块
模块名称:会员登录 |
使用者:Passport服务器与各成员网站 |
||
输入部分 I |
处理描述 P |
输出部分 O |
|
1. 会员第一次登录时输入Email 和密码。 2. 提交会员信息到Passport服务 器。 说明:加载登录框之前,成员网 站会首先与Passport服务器通信, 获得会员是否已经登录过,根据 状态加载登录框。 |
1.在成员网站A含有登录框页面的 <head>区,利用 <script src=meber_auth.aspx> 在页头嵌入.aspx文件(成员网站上的文件)。 a.页面首先查看Session中的状态变量,如果状态变量为NULL,则查看cookie中的状态变量。 b.根据Session与Cookie中状态变量的情况,实现与Passport服务器上的Web Service通信,确定会员是否已经登录。 2.根据会员登录与否,加载登录框。 3.如果没有登录,显示会员输入Email和密码的登录框。 4.会员提交信息到Passport服务器上的Web Service ,通过验证后生成cookie票,并返回登录状态值和cookie票到成员网站。成员网站保存登录状态变量与cookie票。 说明:会员通过任何一个成员网站登录成功后,表示已经登录了所有的成员网站。 |
1.根据登录状态加载登录框 2. 在Passport服务器上创建会员 验证票,保存到数据库与cookie中 3.Passport Web Service 返回登录 状态值与cookie验证票到成员网站。 4.保存会员验证票到cookie中,同时保存会员通过验证的状态到Session中。 |
|
|
|
|
|
表2:会员登录模块
模块名称:会员登出 |
使用者:Passport服务器与各成员网站 |
||
输入部分 I |
处理描述 P |
输出部分 O |
|
1.成员网站重定向到Passport服务器的登出页面,并带有返回URL,成员网站ID和验证票。 |
1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。 2.Passport修改数据库中验证票使之失效,清除cookie中的验证票。 3.重定向到成员网站,清除cookie中的验证票和Session中登录状态变量。 4.导航会员到某个页面。 |
1.修改数据库中的验证票使之失效,并清除cookie。 2.重定向到成员网站。 |
|
|
|
|
|
表3:会员登出
模块名称:修改密码 |
使用者:Passport服务器与各成员网站 |
||
输入部分 I |
处理描述 P |
输出部分 O |
|
1.成员网站重定向到Passport服务器修改密码页面,并带有返回URL,验证cookie票。 2.会员输入原密码和新密码。 3.提交数据。 |
1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。 2.Passport修改会员密码。 3.重定向到成员网站,并带有修改成功与否的状态变量。 4.导航会员到某个页面。 |
1.修改数据库中会员的密码。 2.重定向到成员网站。 |
|
|
|
|
|
表4:会员登出
模块名称:找回密码 |
使用者:Passport服务器与各成员网站 |
||
输入部分 I |
处理描述 P |
输出部分 O |
|
1.成员网站重定向到Passport服务器找回密码页面,并带有验证cookie票。 2.会员输入Email地址 3.提交数据 4.激活新密码(邮箱将收到一个激活密码的URL) |
1.在成员网站A重定向到Passport服务器,Passport接收cookie验证票,并验证是否合法。 2.Passport为会员生成新密码,并向会员邮箱中发送一个激活密码的URL。 3.激活新密码 4.使用新的密码登录 |
1.为会员生成新密码,但未激活。 2.提示会员收邮件激活新密码,激活后方可使用。 |
|
|
|
|
|
表5:找回密码
模块名称:成员网站间跳转 |
使用者:Passport服务器与各成员网站 |
||
输入部分 I |
处理描述 P |
输出部分 O |
|
成员网站A链接到其它成员网站B,之后处理同会员登录模块。 |
|||
|
|
|
|
表6:成员网站跳转
模块名称:票据加解密及验证 |
使用者:Passport服务器 |
||
输入部分 I |
处理描述 P |
输出部分 O |
|
1.会员Passid、票据发布时间、票据有效时间、会员其它信息数据。 2.调用Web Service方法验证 a. 传入Email和密码 b. 传入cookie验证票 |
1.接收成员网站请求数据(Email与密码)。 2. 由会员Passid、票据发布时间、票据有效时间、会员其它信息数据生成加密的cookie验证票,并且保存到数据库和cookie中。 3. 接收cookie验证票,解密并验证,返回给成员网站登录状态值。 |
1.生成加密的cookie票。 2.返回会员登录状态值。 |
|
|
|
|
|
表7:票据加解密及验证
3.3输入输出要求
解释各输入输出数据的类型,并逐项对格式、数值范围、精度等作出准确定义。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。
3.4 流程逻辑
3.4.1注册流程图
3.4.2会员登录流程图
3.4.3 会员登出流程图
3.4.4 会员修改密码流程图
3.4.5 会员找回密码流程图
3.4.6 成员网站间跳转流程
假设从成员网站A跳转到成员网站B,网站A提供网站B的入口链接即可。导航到网站B后,其流程与会员登录流程一样。
3.5对性能的规定
3.5.1精度
3.5.2灵活性
设计时需要充分考虑功能的扩展,使功能模块具有很强的灵活性。
灵活性因素:
a.操作方式上的变化;
b.运行环境的变化;
c.同其他软件的接口或其他软件对该模块的集成;
d.精度和有效时限的变化;
e.计划的变化或改进。
3.6 数据管理
3.6.1数据管理能力要求
说明需要管理的文卷和记录的个数、表和文卷的大小规模,要按可预见的增长对数据及其分量的存储要求做出估算。比如,在数据库中设计中会员ID时,若采用自增型变量要估算会员的数量级,确定采用(int)数据类型,还(bigint)数据类型。
3.6.2数据库设计(Passport服务器)
1).Pass_Member(会员表)
字段名称 |
数据类型 |
说明 |
备注 |
mPassID |
Bigint |
会员ID号 |
自增型,PK(主键) |
mName |
Nvarchar(64) |
会员名 |
Email作为会员名(创建索引) |
mPwd |
Nvarchar(32) |
会员密码 |
数据库中保存MD5运算的结果 |
mGBPwd |
Nvarchar(32) |
会员找回密码 |
会员找回密码时,生成的密码,会员激活后覆盖会员密码 |
mWake |
Tinyint |
会员唤醒 |
当和成员网站建立映射关系后,唤醒该会员 |
mMapWebsite |
Nvarchar(128) |
会员映射的成员站点 |
建立会员映射关系的成员网站串 |
mRegDT |
Datetime |
会员注册时间 |
|
mAreaCode |
Nvarchar(8) |
区域代号 |
|
mBack |
Nvarchar(64) |
预留字段 |
预留扩展 |
注意:成员网站的会员表,需要通过mPassID字段建立与Pass_Member表中会员的映射关系。
备注:60-11-20添加两个字段(红色高亮)
2).Member_WebSite(成员网站表)
字段名称 |
数据类型 |
说明 |
备注 |
mWebID |
int |
成员网站ID编号 |
PK(主键) |
mWebName |
Nvarchar(32) |
成员网站名称 |
|
mWebURL |
Nvarchar(32) |
成员网站URL |
|
mWebIP |
Nvarchar(16) |
成员网站IP |
|
mWebManager |
Nvarchar(16) |
成员网站管理员 |
成员网站故障时,便于维护 |
mWMTel |
Nvarchar(16) |
成员管理员电话 |
|
mBack |
Nvarchar(64) |
预留字段 |
预留扩展 |
3).Member_Ticket(会员票据表)
字段名称 |
数据类型 |
说明 |
备注 |
mTicketID |
Nvarchar(240) |
验证票编码 |
PK(主键) |
mPassID |
Bigint |
会员ID号 |
FK(关联Pass_Member表mPassID) |
issueDT |
Datetime |
票签发日期时间 |
|
availDT |
datetime |
票有效日期时间 |
|
digitalSign |
Nvarchar(32) |
票的数字签名 |
用于保证票的安全 |
mBack |
Nvarchar(64) |
预留字段 |
预留扩展 |
4).Member_SignRecord(会员登录记录表)
字段名称 |
数据类型 |
说明 |
备注 |
ID |
Bigint |
记录ID号 |
PK(主键) |
mPassID |
Bigint |
会员ID号 |
FK(关联Pass_Member表mPassID) |
signinDT |
Datetime |
登录日期时间 |
|
signinWebID |
int |
登录网站ID编号 |
FK(关联Member_WebSite表) |
signoutDT |
Datetime |
登出日期时间 |
|
signoutWebID |
int |
登出网站ID编号 |
FK(关联Member_WebSite表) |
mBack |
Nvarchar(64) |
预留字段 |
预留扩展 |
3.6.3数据处理
创建作业
1、定时把验证票的记录导入的备份表中,供统计分析使用。
2、定时把一天以上没有激活的会员删除
3.7 Passport服务器与成员网站接口规范
3.7.1 Passport服务器入口及调用接口
a.注册入口
重定向规范:成员网站注册重定向地址:
http://passport.yanxiu.com/register.tc
成员网站入口参数: AppID 成员网站ID号
Redirect Passport重定向地址
Passport回传参数: Ticket cookie验证票加密串
PassID 会员ID号
UserName 会员名称(Email)
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484DC6FAD75E82; UserName=david@gmail.com
PassID=1234
则 成员网站重定向地址为:
http://passport.david.cn/register.aspx?AppID=1&Redirect=http://www.woall.com/register.aspx
Passport重定向地址为:
http://www.woall.com/index.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com
Web Service通信规范:
若用户从成员网站A重定向到Passport服务器注册会员时,Passport调用成员网站Web Service接口,建立Passport数据库与网站A数据库中会员的关联,关联字段为Pass_Member表中的mPassID。
Web Service名称: pass_user_related
所有者:成员网站
调用者:Passport服务器
输入参数:PassID:字符串,表示会员ID号
输出参数:Flag:布尔型,表示是否成功建立关联
b.登录接口
验证cookie票Web Service规范:成员网站本地域存在cookie验证票时,使用的接口。
Web Service名称:web_ticket_auth
所有者:Passport服务器
调用者:成员网站
输入参数:TicketCode 字符串 验证票字符串
AppID 字符串 成员网站ID
输出参数:Flag:布尔型,表示验证票是否合法
验证逻辑:只要数据库中存在该验证票,且在有效期内,即合法。
HTTP[本接口改为了重定向的方式,请参考下面的部分] 请求通信接口规范:成员网站域不存在cookie验证票,查看Passport域是否存在。
Passpport提供的URL:http://passport.david.cn/pass_ticket_exist.aspx
输入参数:无
输出参数:XML格式的文本(符合RSS2.0标准),XML包含节点
Flag:表示是否存在合法的验证票
Ticket:表示验证票字符串
PassID:表示会员ID号
UserName:表示Email地址
备注:Http请求,从成员网站域,向Passport域发送请求时,并不能访问到在Passport域中向客户端写的cookie值。现改成重定向的方式
重定向接口规范:
Passport提供的重定向地址:http://passport.david.cn/pass_ticket_exist.aspx
输入参数:Redirect 字符串 Passport重定向到成员网站的地址
AppID 字符串 成员网站ID号
回传参数:Ticket 字符串 验证票编号
PassID 字符串 会员ID号
UserName 字符串 会员名称
举例:
假设: Redirect= http://www.woall.com/Public/Login_State.aspx
AppID=1
Ticket=53D2FD484DC6FAD75E82
PassID=1234
UserName=david@gmail.com
则:则 成员网站重定向地址为:
http://passport.david.cn/pass_ticket_exist.aspx?AppID=1&Redirect=http://www.woall.com/Public/Login_State.aspx
Passport重定向地址为:
http://www.woall.com/Public/Login_State.aspx? Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com
登录框提交接口规范:成员网站输入Email和密码提交到Passport的地址。
提交到Passport的地址:http://passport.david.cn/pass_login.aspx
成员网站入口参数:Email 会员名
Pwd 会员密码
AppID 成员网站ID
Redirect Passport重定向地址
Passport回传参数: Ticket 字符串,cookie验证票加密串
PassID 字符串,会员ID号
UserName 字符串,会员名称(Email)
Flag 登录成功与否标识 2-成功(会员存在)3-失败(会员名不存在)4-密码不正确,5-数据库错误
举例:
假设:Passport重定向地址为http://www.woall.com/default.aspx
则,Passport服务器重定向到成员网站的地址是
http://www.woall.com/default.aspx?Ticket=53D2FD484DC6FAD75E82&PassID=1234&UserName=david@gmail.com&Flag=1
c.登出接口
重定向规范:
成员网站登出重定向地址:http://passport.david.cn/Public/logout.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-表示成功从Passport登出;0-票不合法;-1-失败(数据库错误)
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
http://passport.david.cn/Public/logout.aspx?AppID=1&Ticket=53D2FD484D&Redirect=http://www.woall.com/index.aspx
Passport服务器重定向到成员网站的地址为:
http://www.woall.com/index.aspx?Flag=1
d.修改密码接口
重定向规范:
成员网站修改密码重定向地址:http://passport.david.cn/Public/pwd_mod.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Redirect 字符串,Passport重定向地址
Passport回传参数: Flag 字符串,1-成功;0-验证票不合法;-1-数据库错误
举例:
假设AppID=1;Redirect=http://www.woall.com/index.aspx
Ticket= 53D2FD484D
Flag=1
则,成员网站重定向到Passport的地址为
http://passport.david.cn/Public/pwd_mod.aspx?AppID=1&Ticket=53D2FD484D&Redirect=http://www.woall.com/index.aspx
Passport服务器重定向到成员网站的地址为:
http://www.woall.com/index.aspx?Flag=1
e.找回密码接口
重定向规范:
成员网站找回密码重定向地址:http://passport.david.cn/Public/getback_pwd.aspx
成员网站入口参数:AppID 字符串,成员网站ID号
Ticket 字符串,cookie验证票
Passport回传参数: Passport服务器发送密码激活地址(其中有验证票字符串)到会员邮箱,供激活密码。
激活地址:
http://passport.david.cn/pwd_awake.aspx?Ticket=53D2FD484D
举例:
假设AppID=1;Ticket= 53D2FD484D
则,成员网站重定向到Passport的地址为
http://passport.david.cn/getback_pwd.aspx?AppID=1&Ticket=53D2FD484D