Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
实现Facebook(SDK 4.0.1)登录的Android应用程序_Android_Facebook_Login_Access Token - Fatal编程技术网

实现Facebook(SDK 4.0.1)登录的Android应用程序

实现Facebook(SDK 4.0.1)登录的Android应用程序,android,facebook,login,access-token,Android,Facebook,Login,Access Token,我想实现一个Android应用程序(Web应用程序的一部分),用户可以使用facebook(以及后来的Twitter等)登录 我应该在数据库中保存哪些值。我的想法是电子邮件、密码、提供商、访问令牌 电子邮件,密码=>应用程序内登录 提供商,访问\u令牌=>从提供商应用程序登录 访问令牌可能过期或更改。我如何跟踪变化。我可以将其保存在SystemPreference中,但它是缓存的,而不是新的。我是否每次都需要执行GraphRequest来检查有效性 我应该在数据库中保存哪些值 没有。 您无法将用

我想实现一个Android应用程序(Web应用程序的一部分),用户可以使用facebook(以及后来的Twitter等)登录

  • 我应该在数据库中保存哪些值。我的想法是电子邮件、密码、提供商、访问令牌 电子邮件,密码=>应用程序内登录 提供商,访问\u令牌=>从提供商应用程序登录

  • 访问令牌可能过期或更改。我如何跟踪变化。我可以将其保存在SystemPreference中,但它是缓存的,而不是新的。我是否每次都需要执行GraphRequest来检查有效性

  • 我应该在数据库中保存哪些值

    没有。 您无法将用户的facebook凭据保存到本地数据库中。因为Facebook SDK从不允许这样

    访问令牌可能过期或更改

    是的,它可以过期或更改。如果
    access\u令牌
    过期,并且如果用户尝试使用Facebook登录,那么它会生成一个新令牌。因此不需要缓存东西

    编辑

    访问令牌有两种类型: 1.寿命短,2.寿命长


    长寿命用于移动应用程序,有效期为60天;另一方面,短命仅在web应用程序使用的几个小时内有效。如果您想扩展web访问令牌,可以参考此

    1。我需要保存一种信息,以便通过facebook验证我应用程序中的用户。基于OAuth协议,每个访问令牌对我的应用程序是私有的,并对每个用户进行身份验证。也就是说,这就像用户给我的应用程序的一组权限,从而向我验证自己。因此,如果一个用户从我的android应用程序注册,然后从浏览器登录,那么生成的access_令牌是相同的,我将识别他。那么,识别web和移动设备上的同一个用户也是一样的吗?是的,因为我的应用程序(android和web)必须识别相同的用户。看,我登录了很多次,发现如果请求的权限相同,那么访问令牌是相同的。基于OAuth,这就是所谓的“凭证”。但如果权限过期或更改,则会生成一个新的权限。我不知道如何追踪它