使用 facebook 登录作为移动应用程序的身份验证。

Posted

技术标签:

【中文标题】使用 facebook 登录作为移动应用程序的身份验证。【英文标题】:Use facebook login as authentication for mobile apps. 【发布时间】:2016-05-27 18:09:35 【问题描述】:

我正在使用 laravel 5.2 为移动应用程序制作一个 REST API。对于移动应用程序中的身份验证,他们应该只使用 Facebook 登录。所以我的问题是如何通过 facebook 身份验证实现这个 rest api。

我正在考虑在服务器端创建一个用户模型,当用户从应用程序使用 facebook 登录时,我会获取用户的所有信息并将其保存在用户模型中,例如姓名电子邮件照片等。如果用户已经在我的用户模型中注册,我想从 facebook 获取用户电子邮件地址并将其与我的用户模型中的用户进行比较以获取用户信息。

根据 accesstoken 我想使用 JWT,但我不确定如何?我的解决方案可能是当用户使用 facebook 登录时,我的 api 要么保存用户,要么获取用户,然后返回 JWT 令牌。希望你们能理解我的问题并能帮助我-谢谢。

【问题讨论】:

【参考方案1】:

我认为 facebook 登录应该在前端实现,有简单的 ios / android sdks 用于 facebook 登录,登录时用户获取 facebook 开发人员帐户中请求的信息,然后使用简单的 api 信息可以存储在您的服务器端,只需为该用户创建一个用户 id 以唯一标识

【讨论】:

是的,fb 登录将在前端。当我使用 fb 登录时,我将获得所需的信息并将数据保存在我的用户模型中。假设我的用户与名为书籍的模型具有一对多的关系。如何获取当前用户的所有书籍?我还应该保存 fb accesstoken 并使用该令牌为用户获取所有书籍还是应该生成自己的 accesstoken? 不,您不需要访问令牌,在您存储信息后,附加一个用户 ID,所有对该用户信息的请求都将通过用户 ID 进行【参考方案2】:

你可以使用https://developers.google.com/identity/toolkit/android/,真的很简单。该链接包含一步一步如何实现登录。借助 google 身份工具包,您可以轻松添加其他登录方式,例如 Gmail、Yahoo 等。

但如果你只需要 Facebook,你可以从这里开始:

https://developers.facebook.com/docs/android/getting-started?locale=es_LA

【讨论】:

以上是关于使用 facebook 登录作为移动应用程序的身份验证。的主要内容,如果未能解决你的问题,请参考以下文章

通过 facebook ios SDK 结合 Azure 移动服务获取名字和姓氏

仅使用 Facebook 令牌在 iOS 上发送 Firebase 邀请登录 Firebase 身份验证

将Flutter应用程序的Facebook身份验证与Keycloak服务集成在一起

可以使用本机 facebook 应用程序登录移动 html5 应用程序吗?在 iPhone 上

将 Flutter app facebook 身份验证与 Keycloak 服务集成

从移动设备登录 Spring Security、Rest api 和 Facebook