【发布时间】:2014-03-21 03:28:03
【问题描述】:
我正在努力解决我认为 ServiceStack 会“开箱即用”的事情......
我有一个 ServiceStack API,它允许通过凭据、基本、google OpenId 和 LinkedIn OAuth2 进行身份验证。
从空的 UserAuth 和 UserAuthDetails 表开始,我发现如果我:
- 启动我的应用并使用凭据登录
- 退出
- 使用 Google OpenId 身份验证登录
ServiceStack 创建两个单独的 UserAuth 记录,而不是将 Google UserAuthDetail 与经过凭据身份验证的 UserAuth 链接起来。尽管这两个凭据在两条记录中显示相同的电子邮件地址。
但是... 如果我从一个空白数据库开始并使用 LinkedIn OAuth2 重复这些步骤,我会发现使用链接的 UserAuthDetails 记录创建了一条 UserAuth 记录。这就是我希望 Google Auth 执行的操作。
任何人都可以解释为什么会发生这种情况,以及如果已经有一个匹配的电子邮件地址,我必须做些什么来确保 Google Auth 不会创建新的 UserAuth?
【问题讨论】:
标签: authentication oauth-2.0 servicestack openid