移动应用程序:永久登录(使用两种身份验证方法)

第1553136章

我正在设计一个具有以下功能的移动应用程序:

  1. 用户首次打开应用程序时,要求使用传统的用户名/密码架构登录/注册以使用应用程序Web服务对自己进行身份验证,或使用Facebook登录名。
  2. 然后,下次打开应用程序时,用户无需再次输入其凭据即可自动登录。

实现第一认证方法。Web服务发回一个验证令牌,用户使用该验证令牌对自己进行身份验证。后者与用户ID一起存储在移动台的非易失性(受保护)存储中。

我知道很多应用程序都提供了我们正在谈论的两种身份验证方法。我想知道它通常如何与Facebook身份验证结合使用。此刻,我正在考虑在Facebook登录后生成凭证,并对我的Web服务中的Facebook用户进行身份验证,就像他们是传统用户一样。用户将存储在相同的Web服务数据库表中。请注意,数据库中的标记会告诉我们用户是否使用Facebook登录,因为如果用户在另一个设备上使用相同的Facebook帐户(通过电子邮件标识)登录,则不会重复。

编辑:此外,例如,某些应用程序允许Facebook用户与他们的Facebook朋友一起玩,但是由于人们只能使用一个临时访问令牌来查询Facebook API,因此该应用程序如何以持久的方式完成?更一般而言,某些应用程序如何保持FB会话持久?

您认为这可行吗?

微科

Facebook访问令牌分为两种:短期令牌和长期令牌。您可能曾经玩过短期应用程序,但Facebook文档说[1],通常移动应用程序会使用长期应用程序。

使用Facebook SDK的本机移动应用程序将获得寿命很长的访问令牌,有效期约为60天。当使用您的应用的人向Facebook的服务器发出请求时,这些令牌将每天刷新一次。如果未提出任何请求,则令牌将在约60天后过期,此人将不得不再次通过登录流程来获取新令牌。

iOS Facebook SDK [2]有一个有关维护会话的示例,该示例位于捆绑包的安装包中。(在GitHub [3]上也有相同的代码。)这是GitHub其中最重要的部分:

SLAppDelegate *appDelegate = [[UIApplication sharedApplication]delegate];
if (!appDelegate.session.isOpen) {
   // Open new session
}

一旦使用恢复或恢复了会话isOpen,示例中就没有一行代码可以刷新它。我不是iOS程序员,但对我来说,引用文档中的段落以及教程中的代码片段清楚地表明,我什至不需要其他刷新操作,只需在60天内成功使用即可。

简而言之,您不可能拥有永久的永久令牌,但是幸运的是,如果您只是让用户以足够频繁的方式使用该应用程序,那么您将拥有几乎一个永久令牌。

[1] https://developers.facebook.com/docs/facebook-login/access-tokens
[2] https://developers.facebook.com/docs/ios/sample-apps#sdk
[3] https:/ /github.com/Citrrus/facebook-ios-sdk/tree/master/samples/SessionLoginSample

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Devise进行Rails应用程序本地和远程身份验证(两种策略)

Spring Boot应用程序上的两种身份验证机制(Basic和JWT)

Django Channels 2:两种身份验证方法

具有两种身份验证方法的FOSUserBundle

具有两种身份验证方法

Azure移动应用程序-自定义身份验证-无法登录

使用Azure API管理服务,是否可以采用两种不同的身份验证方法?

安全地绕过移动应用程序上的两因素身份验证

Azure API应用程序登录和身份验证

移动应用程序Web API身份验证

Firebase身份验证吸引移动应用程序用户

本地移动应用程序身份验证方法的最佳方法

如何使用Firebase或AWS使用UniqueID对移动应用程序用户进行身份验证?

对耳内的多个Web应用程序使用一种身份验证

使用Chimp / Mocha测试Meteor应用程序-自动登录以测试经过身份验证的路线

无法使用KeyCloak对应用程序用户的登录进行身份验证

使用身份验证令牌从 Xamarin 登录到 ASP.Net 应用程序

Azure移动应用程序和Xamarin表单:在后台使用Facebook进行身份验证

如何获取和使用适当的signingKey进行Azure移动应用程序身份验证?

使用Azure移动应用程序进行自定义身份验证

如何在移动应用程序中使用SAML身份验证?

通过移动应用程序使用Moodle进行身份验证

使用来自移动应用程序的令牌进行剩余API身份验证

适用于同时登录多个应用程序的AppEngine的OpenID Connect和移动身份验证选项

在这两种情况下,curl使用哪种方法进行身份验证(GET或POST)?

Github:如何使用SecurID桌面应用程序进行两因素身份验证?

使用Spring Security对两个应用程序进行基于相同表单的身份验证

Azure移动应用程序中的应用程序身份验证。如何?

Web 应用程序、Web API 和移动应用程序之间的身份验证