我在我的应用中使用Facebook SDK for iOS版本4.14。我们使用facebook SDK来允许用户注册。
我们有一个营销团队成员Say M,他将在手机上安装应用程序以注册新用户。
假设用户A是否使用他的fb详细信息来注册该应用,并且他已成功添加到系统中。
用户A完成注册后,他会从应用程序注销。
现在这是我面临的问题,当M访问另一个用户B时,如果他点击登录与Facebook fb会话仍然说,用户A已经授予该应用程序的权限。
我想要的是fb必须刷新所有fb令牌,会话以便M可以注册许多新用户。
我正在我的应用中处理这些案例
var fbLoginManager : FBSDKLoginManager = FBSDKLoginManager()
@IBAction func BtnLogout(sender: AnyObject) {
FBSDKAccessToken.setCurrentAccessToken(nil)
FBSDKProfile.setCurrentProfile(nil)
FBSession.activeSession().closeAndClearTokenInformation()
fbLoginManager.logOut()
let loginManager = FBSDKLoginManager()
loginManager.logOut()
let deleteAllpermission = FBSDKGraphRequest(graphPath: "me/permissions/", parameters: nil, HTTPMethod: "DELETE")
deleteAllpermission.startWithCompletionHandler({(connection,result,error)-> Void in
print("Success")
// in here call your login action method, it called every time user login permission
})
}
答案 0 :(得分:1)
只需添加以下代码行:
loginManager.loginBehavior = .web
每次登录时,您都可以使用新凭据进行身份验证
答案 1 :(得分:0)
我们可以做两件事: 1.从应用程序注销时的基本功能。打开浏览器/ safari并从facebook注销。 2.我们可以做的第二件事是从应用程序注销我们可以清除权限: - - - - - - - - - - - - - - - - - - 码 - - - - - - - ---------------------------
let mypermission = FBSDKGraphRequest(graphPath: "me/permissions/", parameters: nil, HTTPMethod: "DELETE")
mypermission.startWithCompletionHandler({(connection,result,error)-> Void in
print("Success")
// in here call your login action method, it called every time user login permission
})
(新泽西州)