OpenID如何工作?

Moh*_*mad 6 openid

有人可以帮我理解OpenID的工作原理吗?我对以下答案感兴趣:

  1. 如果使用OpenId,您是否还需要存储用户ID和密码?
  2. 当用户登录时,我的应用程序如何创建新会话?
  3. 当用户退出应用程序时,除了清除会话数据之外,我还需要做什么吗?我需要通知openId服务器吗?

dan*_*rth 3

我最近做了一个 openid 身份验证系统,它是这样工作的。

登录:

  1. 用户输入 openid url(不一定是唯一的),
  2. 如果成功,Openid 提供商将验证并提供唯一的 openid url。
  3. 将此 url 放入会话中。

验证请求:

有一个表将 openid url 映射到用户。

对于每个请求:

  1. 在会话中查找 openid url
  2. 如果存在,查找用户记录并将其附加到请求中
  3. 处理请求。

如果使用 openId 还需要存储用户 ID 和密码吗?

userIDs 是,密码否(除非您提供除 openid 之外的其他登录方式)

当有人登录时,我的应用程序如何找到并创建新会话?

会话按正常方式处理,会话适用于经过身份验证和未经身份验证的用户。

当我从自己的应用程序中使用日志时,除了从我的应用程序中清除他们的会话之外,我还需要执行其他操作吗?(需要通知openId服务器吗?)

没有。