Ionic 3本机facebook登录过程

Ionic 3本机facebook登录过程,facebook,ionic-framework,oauth-2.0,ionic3,facebook-login,Facebook,Ionic Framework,Oauth 2.0,Ionic3,Facebook Login,我刚刚用本机facebook登录插件完成了爱奥尼亚3的登录过程。一切似乎都很好。 我获取我的facebook数据并用存储插件存储它们 对我来说,奇怪的部分开始了 我希望用户下次打开应用程序时能够自动通过身份验证阶段,我不确定哪一个是正确的解决方案 解决方案1 当用户第一次登录时,a会存储数据,以便下次在app.component.ts中打开应用时,我会检查我存储的数据(ex userId)是否存在 解决方案2 我使用getLoginStatus函数,如果返回response.status===“

我刚刚用本机facebook登录插件完成了爱奥尼亚3的登录过程。一切似乎都很好。
我获取我的facebook数据并用存储插件存储它们

对我来说,奇怪的部分开始了

我希望用户下次打开应用程序时能够自动通过身份验证阶段,我不确定哪一个是正确的解决方案

解决方案1
当用户第一次登录时,a会存储数据,以便下次在
app.component.ts
中打开应用时,我会检查我存储的数据(ex userId)是否存在

解决方案2
我使用
getLoginStatus
函数,如果返回
response.status===“connected”
我假设用户之前已经过身份验证,并且我存储的数据存在

他们是否认为是一种更好的方法? 您是否使用不同的解决方案?


在这种情况下,我是否出于某种原因需要访问令牌,或者这只对web应用有用?

我想说这取决于您正在寻找的安全性,您的应用是否处理敏感信息

如果没有,那么您可以简单地存储userId(您的解决方案1),这样您就很好了

如果你正在处理敏感数据,那么你应该考虑有一个更安全的系统(作为一个例子,你必须考虑到用户可能会丢失它的电话,所以用户可能想要切断访问…) 通过facebook确保流程的安全是一种可行的方法:

  • 将您从facebook身份验证获得的访问令牌发送到远程服务器,您可以在那里进行检查()
  • 将令牌保存到与新用户对应的服务器(例如json web令牌)
  • 发回此令牌并在本地保存
  • 对于每个身份验证,请检查令牌在服务器端是否仍然有效
我建议您阅读Josh Morony编写的教程:

storage.get('userID').then((val) => {
   this.isLoggedIn = true;
   this.setRoot(MainPage);
});