我有一个RESTful API,多个客户端连接到(Web,iOS和Android应用程序).目前,用户只能使用用户名和密码创建帐户(电子邮件是可选的),并且它们在数据库中仅使用这些列表示.
用户通过POST登录到/ session端点,通过我们的"登录".API响应是一个新的秘密令牌(我们将其与用户名相关联).客户端使用此令牌对客户端发起的所有POST请求进行签名,我们的API稍后将使用该请求对请求进行身份验证.
但是,我们现在希望允许社交登录(Google+,FB,Twitter).我们的用户也希望使用社交登录以方便使用,但他们希望他们选择自己的随机用户名以显示在他们的评论旁边等.
我的问题:为了支持社交登录,我需要对API进行哪些更改?我是否需要对我的数据库模式进行重大更改以支持此操作,如果是,那究竟是什么?此外,服务器是否需要了解社交登录提供商授予的访问令牌的任何信息?
请注意,此功能的范围不包括将多个社交登录帐户与同一个人关联的功能.我想让事情变得尽可能简单.
一般对如何正确实现这一点感到困惑.我更喜欢让事情尽可能简单,以便为简单的解决方案增加额外的分数.任何建议将不胜感激.