代码之家  ›  专栏  ›  技术社区  ›  Mohamad

OpenID是如何工作的?

  •  6
  • Mohamad  · 技术社区  · 14 年前

    1. 如果使用OpenId,您还需要存储用户id和密码吗?
    2. 当用户登录时,我的应用程序如何创建新会话?
    3. 当用户注销应用程序时,除了清除会话数据之外,我还需要做其他事情吗?我需要通知openId服务器吗?
    2 回复  |  直到 11 年前
        1
  •  3
  •   dan_waterworth    14 年前

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

    登录:

    1. 必须是独一无二的,
    2. 提供唯一的openid url, 在成功的时候。
    3. 将此url放入会话中。

    身份验证请求:

    对于每个请求:

    1. 在会话中查找openid url
    2. 将其附加到请求
    3. 处理请求。

    使用openId时的密码?

    用户标识是,密码否(除非您提供除openid以外的其他登录方式)

    我的申请如何发现 在里面?

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

    应用程序,我需要做什么吗 不仅仅是清理他们的会议 从我的申请中?(我需要

    不。

        2
  •  3
  •   hvgotcodes    14 年前

    我的理解是:

    1. OpenId允许用户以分散的方式登录。这意味着用户的登录凭据由一个站点处理,即提供程序

    2. 您仍然需要存储一些用户信息,因为他们如何使用您的系统的详细信息必须存储在您的系统中。

    所以,如果Google是一个开放的id提供商,那么就可以验证我是否登录了Google,以及我是谁。然后说,太好了,这个用户是我们系统中的hvgotcodes,给了我一些特权,这些特权对我的身份有意义。

    在回答您关于注销的特定问题时,是的,在open id提供程序验证用户凭据之后,您仍然可以将用户登录到您的系统中,因此您可以从自己的系统处理他们的注销状态。