Login 使用OpenID或OAuth匿名登录

Login 使用OpenID或OAuth匿名登录,login,oauth,openid,registration,anonymous,Login,Oauth,Openid,Registration,Anonymous,简而言之:我可以使用OpenID或OAuth匿名登录我的web服务吗 详细描述: 情景/背景:我将为心理健康相关练习提供在线工具。用户应该能够在每次登录后看到他们完成的练习,但我不想让他们在我的服务上注册,因为我不想存储他们的电子邮件地址、密码,甚至连昵称之类的东西都不想存储(甚至不想散列!),因为这可能会泄露用户的身份。我希望通过不存储任何与脱机身份相关的内容来确保他们的隐私完全安全 问题:如何在没有凭据的情况下执行登录(或如何识别重复出现的用户) 方法(?):当我使用我的Google帐户登录

简而言之:我可以使用OpenID或OAuth匿名登录我的web服务吗

详细描述:

情景/背景:我将为心理健康相关练习提供在线工具。用户应该能够在每次登录后看到他们完成的练习,但我不想让他们在我的服务上注册,因为我不想存储他们的电子邮件地址、密码,甚至连昵称之类的东西都不想存储(甚至不想散列!),因为这可能会泄露用户的身份。我希望通过不存储任何与脱机身份相关的内容来确保他们的隐私完全安全

问题:如何在没有凭据的情况下执行登录(或如何识别重复出现的用户)

方法(?):当我使用我的Google帐户登录到某个第三方web服务时,我被问到是否要共享我的个人资料数据、电子邮件地址以及其他内容。这里有可能什么都不透露吗?这项服务所知道的唯一一件事是,有人拥有谷歌账户,并且知道密码。对我来说,所有者是谁完全不重要,重要的是在每次登录后识别同一所有者,比如说通过某种匿名令牌id

  • 这种方法有效吗
  • 是否有其他不存储数据的匿名用户登录方法
    • 使用。OpenID Connect是构建在OAuth 2.0()之上的规范。您可以将用户身份验证委托给支持OpenID Connect的身份提供商(如Google)

      在成功进行用户身份验证后,IdP将向您发布一个。您可以在ID令牌中找到用户的属性,例如名称、电子邮件地址等。因此,如果使用支持OpenID Connect的外部身份提供程序,就不必再管理用户的属性


      (补充意见)

      定义了6个标准范围,如下所示。这些值可以包含在授权请求的
      范围
      参数中

    • openid
    • profile
    • 电子邮件
    • 地址
    • 电话
    • 离线访问
    • 其中,
      个人资料
      电子邮件
      地址
      电话
      在“”中定义。它们可用于请求将用户的某些属性包括在将由授权服务器发布的中。例如,当
      email
      包含在
      scope
      参数中时,基于请求发出的ID令牌将包含
      email
      email\u verified
      的值(如果授权服务器支持这些属性)


      因此,如果您希望最小化ID令牌中包含的属性数量,请避免在
      范围
      参数中包含
      profile
      email
      address
      phone
      。换句话说,
      scope
      参数应该只包含
      openid

      非常感谢。这听起来很有帮助。有没有可能根本不传输姓名和电子邮件地址?如果用户保持完全匿名,他们更容易信任系统。@TimoStolz系统是你建立的吗?事实上,我想对一些隐私限制与您类似的系统进行调查。如果您的系统已经启动,并且您可以共享一些实现/体系结构细节,那就太好了。