Login Social
OAuth
Autenticação
UX
Apple
Google

应用程序中的社交登录:实施和最佳实践

应用程序中的社交登录:实施和最佳实践

社交登录允许使用现有帐户一键注册。谷歌、苹果、Facebook,用户已经有了凭证。本指南介绍了如何安全有效地实施社交登录。

什么是社交登录

定义

使用外部身份提供商进行身份验证。

OAuth 2.0

授权的标准协议。

提供商

谷歌、苹果、Facebook、微软、GitHub。

为什么使用

减少摩擦

一键式与完整形式。

转换

更多用户完成注册。

安全

不再需要管理密码。

验证数据

提供商确认的电子邮件。

顶级提供商

谷歌登录

比较常见。适用于 iOS 和 Android。

使用 Apple 登录

对于提供社交登录的 iOS 应用程序是必需的。

脸书登录

庞大的用户群。

###微软

适合 B2B。

GitHub

对于开发者应用程序。

OAuth 流程

重定向

用户前往提供商处进行身份验证,然后返回代码。

代币交换

后端交换访问令牌的代码。

用户信息

获取用户数据。

会议

在您的系统上创建会话。

使用 Apple 登录

强制

如果您提供其他社交登录信息,Apple 会要求您提供此信息。

###隐私

用户可以隐藏电子邮件。

硬件密钥

本机生物识别身份验证。

跨平台

也适用于 Android 和 Web。

谷歌登录

SDK

提供 Android、iOS、Web SDK。

一键点击

优化体验,无需重定向。

范围

定义要访问的数据。

Firebase 身份验证

简化集成。

移动实施

iOS

Apple、Google SDK 的身份验证服务。

###安卓

Google 登录 SDK、凭据管理器。

反应本机

Expo Auth、React Native 库。

颤动

google_sign_in、sign_in_with_apple 软件包。

后端验证

令牌验证

验证服务器上的令牌。

不要相信客户

始终检查服务器端。

令牌过期

管理过期。

刷新令牌

对于长时间的会议。

关联账户

问题

相同的电子邮件,不同的提供商。

解决方案

通过经过验证的电子邮件链接帐户。

用户界面

提供链接选项。

冲突

确定哪个帐户是主要帐户。

用户体验

标准按钮

使用提供商的官方设计。

加载状态

在验证过程中显示进度。

错误

如果失败则清除消息。

后备

电子邮件/密码作为替代。

提供商数据

基本

电子邮件、姓名、照片。

附加范围

联系人、日历(必要时)。

最小化

只要求你需要的东西。

更新

数据可能会在提供商处发生变化。

安全

HTTPS

总是如此,无一例外。

状态参数

防止 CSRF。

令牌存储

安全存储,而不是纯文本。

撤销

当用户取消授权时进行处理。

##隐私

同意

解释您将使用哪些数据。

LGPD/GDPR

社交登录也不能免除合规性。

最低数据

只做必要的事情。

删除

尊重删除请求。

##退出

社交注销?

一般不会。仅来自您的应用程序。

令牌撤销

使系统上的令牌无效。

清除状态

清除本地数据。

常见错误

不验证令牌

接受客户的任何东西。

不要链接帐户

用户创建重复项。

非标准化 UI

不遵循准则的按钮。

失踪的苹果

应用程序因不包含而被拒绝。

指标

按提供商转换

哪个转化效果最好?

错误

每个提供商的失败率。

账户关联

有多少个链接帐户。

结论

社交登录可减少摩擦并提高转化率。正确实施,始终检查服务器端令牌。如果是 iOS,则包括 Apple,提供电子邮件作为后备,并遵循提供商的 UI 指南。

##常见问题解答

1) 必须使用 Apple 登录吗? 如果您的应用程序提供其他社交登录,则适用于 iOS。

2) 我可以信任提供商的数据吗? 检查服务器上的令牌。如果经过提供商验证,电子邮件通常是可靠的。

3) 如何应对Apple的“隐藏我的电子邮件”? 电子邮件代理工作正常。这不是真正的电子邮件。

4) 我也应该提供登录电子邮件/密码吗? 推荐。并不是每个人都想使用社交。

5) 社交登录更安全吗? 也许吧。用户没有创建弱密码。但这取决于实施。

另请阅读

  • [应用程序中的社交登录:通过示例来规划什么有效、什么出错0
  • [社交登录实践:在应用程序中实施之前的决策路线图1
  • [应用程序身份验证:完整的安全性和用户体验指南2
  • [应用程序中的身份验证 - 使用清单的最佳实践3
  • [应用程序中的身份验证 - 最佳实践与示例4
  • [OAuth 什么是 5?