虽然已过时,没来得及体验,摘录一段别人的文章,假装对passport的了解
微软在过去的身份验证服务上,一直采用的Passport验证,但已经是N年前推出来的一个软件架构,当然也被软件界很多地方采用到,由于很多安全问题以及隐私问题,导致05年eBay与Passport分手,相继不少公司也与微软身份验证服务分道扬镳。为何会这样呢?这还得从Passport流程说起:
Passport 是基于 Cookie 的身份验证服务。使用 Passport 身份验证的示例事务对话的工作方式如下:
- 客户端向受到保护的资源(如 http://www.contoso.com/default.aspx)发出 HTTP GET 请求。
- 检查客户的 Cookie 是否具有现有的 Passport 身份验证票。如果站点找到有效的凭据,则站点对该客户进行身份验证。如果请求不包括有效的身份验证票,则服务器返回状态代码 302 并将客户重定向到 Passport 登录服务。响应在查询字符串中包含一个 URL,该URL 被发送到 Passport 登录服务以便将客户定向回原始站点。
- 客户端执行重定向操作,再向 Passport 登录服务器发出 HTTP GET 请求,然后传输来自原始站点的查询字符串信息。
- Passport 登录服务器向客户提供登录窗体。
- 客户端填写窗体,并使用安全套接字层 (SSL) 将 POST 发送回登录服务器。
- 登录服务器对用户进行身份验证并将客户重定向回原始 URL (http://www.contoso.com/default.aspx)。响应在查询字符串中包含一个加密的 Passport Cookie。
- 客户遵循重定向并再次请求原始的受保护资源,这一次使用 Passport Cookie。
- 起始服务器上的 PassportAuthenticationModule 会检测是否存在 Passport Cookie,并测试身份验证。如果成功,则该请求通过身份验证。