有没有办法知道用户是通过网络登录还是本地登录?

Posted

技术标签:

【中文标题】有没有办法知道用户是通过网络登录还是本地登录?【英文标题】:Is there any way to know whether the user log into Facebook through web or native login? 【发布时间】:2013-05-28 05:41:20 【问题描述】:

我在 ios 上使用 Facebook SDK 3.2。

如果用户通过网络登录 Facebook,我想显示一个注销按钮,如果用户使用设置 > Facebook 中的本机登录名登录,我想隐藏注销按钮。单击注销按钮将关闭 Facebook 会话。

我在 Facebook SDK 中找不到任何可以为我提供有关用户从何处登录的信息的函数。这些信息是 SDK 提供的吗?

提前致谢!

【问题讨论】:

【参考方案1】:

FBSession.h中有登录类型的描述。

我编写了以下代码来检查本地登录:

-(BOOL)isLoginUsingNativeFacebookLogin

    if (FBSession.activeSession.accessTokenData.loginType == FBSessionLoginTypeFacebookApplication || FBSession.activeSession.accessTokenData.loginType == FBSessionLoginTypeSystemAccount) 
        return YES;
     

    return NO;

【讨论】:

我不确定它是否有效。我在设置中使用我的 facebook 帐户登录时进行了测试,此功能始终返回 NO。这个问题的答案应该在这里:[***.com/questions/13929776/…

以上是关于有没有办法知道用户是通过网络登录还是本地登录?的主要内容,如果未能解决你的问题,请参考以下文章

NTFS权限和共享权限有何区别?

eNSP——通过Telent登录系统

有没有办法通过 Web 获得持久的(无论多小)客户端存储?

两台电脑共享显示要输入网络密码,但是一直显示用户名或密码登录错误

Laravel 5 - 手动登录没有密码的用户

Keycloak + Spring Security,通过本地登录表单