如何为用户创建无痛的安全春季社交注册/登录

Posted

技术标签:

【中文标题】如何为用户创建无痛的安全春季社交注册/登录【英文标题】:How to create secure spring social registration / login that's painfree for the user 【发布时间】:2016-02-09 03:46:35 【问题描述】:

我的目标是使用无痛但使用 oauth 和 SocialAuthenticationFilter 保护的社交媒体为我的网站创建单击注册/登录。

理想情况下,您可以使用 twitter / Facebook 等登录同一个帐户(无需先将它们连接到用户帐户)。

我正在使用的一个示例是在 git 上找到的 Spring Social Showcase,它非常棒,但它仍然需要一个中间“注册”步骤。

我无法找到一种仅使用 Facebook 登录信息使用 aouth 来创建安全帐户的方法,如果用户不必按照示例进行注册和连接,我会更喜欢它。

那么,有没有一种安全的方法可以做到这一点,还是我误解了什么?

谢谢

【问题讨论】:

“使用 twitter / Facebook 等登录同一个帐户(无需先将它们连接到用户帐户)” - 只有当用户使用相同的 e - 两种服务的邮件地址,不是给定的。 【参考方案1】:

使用 OAuth / OIDC 是正确的方法。

为了自动匹配来自不同社交登录提供商的登录信息,您必须将电子邮件地址作为主要用户标识符。

一旦依赖电子邮件地址,您就可以在内部数据库中自动注册新用户。

但是,用户可能想要更改他们的电子邮件地址。这可能会使流程变得非常复杂,具体取决于您要支持的选项。

【讨论】:

以上是关于如何为用户创建无痛的安全春季社交注册/登录的主要内容,如果未能解决你的问题,请参考以下文章

如何为实时数据库设置安全规则,但允许注册新用户并创建哈希图?

如何为在网站上注册的用户创建自动创建子域?

Django - 如何为注册站点用户和非站点用户创建模型?

如何为在您网站上注册的用户自动创建子域?

如何为两种不同类型的用户创建一个登录活动页面?

如何为 Spring Security 创建类型安全的用户角色?