facebook login me donne déjà autorisé cette application sans return automatique à l'application

Mon application devrait implémenter login avec facebook mais j'ai remarqué que chaque fois que je veux me connecter au facebook dis moi que vous autorisez déjà cette application, la question si j'ai déjà autorisé l'application le facebook devrait revenir automatiquement sans appuyer sur le button okey comme je l'ai vu dans d'autres applications?

voir l'image ci-jointe entrez la description de l'image ici

J'ai corrigé mon problème en procédant comme suit:
1- Connectez-vous à votre facebook en tant qu'administrateur de votre application.
2- allez sur https://developers.facebook.com/apps/YOUR_FACEBOOK_APP_ID/summary .
3- aller aux parameters > de base > natif app IOS
4- définissez Configuré pour iOS SSO: sur activé

Dans iOS / Android, le timeout d'expiration de FBAccessToken est de 60 jours maximum. Lorsque vous faites FBLogin dans votre application, vous obtenez le jeton d'access. Une fois que vous avez obtenu le jeton, vous ne devez pas vous reconnecter (sinon, vous serez invité à utiliser cette application, car votre application a déjà reçu un jeton d'access qui n'a pas expiré). Vous devriez réutiliser le jeton d'access non expiré.

Comme ça :

if FBSDKAccessToken.currentAccessToken() != nil { print(FBSDKAccessToken.currentAccessToken().userID) print(currentAccessToken().tokenSsortingng) //OR call the *FBGraphRequest* } 

Remarque: pour la connection au browser de l'application (SVC: Safari View Controller)

voir plus: https://developers.facebook.com/blog/post/2015/10/29/Facebook-Login-iOS9/ et https://developers.facebook.com/docs/reference/ios/4.9/class/ FBSDKLoginManager /

Vous devez vous assurer que votre application possède le préfixe d'URL approprié dans vos parameters de construction. Assurez-vous également que le préfixe d'URL correspond à votre préfixe d'identifiant / URL Facebook dans l'application de développement Facebook.

Edit: Votre problème est probablement que l'access_token arrive à expiration, donc il doit re-requestr des permissions.

Cela se produira si votre application n'a pas demandé d'permissions offline_access. Dans le nouveau SDK offline_access est obsolète et vous devez maintenant étendre le access_token.

Voir ce lien: https://developers.facebook.com/docs/mobile/ios/build/#extend_token

Vous devez vérifier s'il existe une session en cours avant de vous connecter avec FBSDKLoginManager . N'utilisez pas [loginManager logout] avant de vous connecter.

 if ([FBSDKAccessToken currentAccessToken]) { NSLog(@"Token is available : %@",[[FBSDKAccessToken currentAccessToken]tokenSsortingng]); // Now get details using graphpath. } else { // login with permissions using FBSDKLoginManager and get details using graphpath in completion } 

Il y a un bug ouvert sur facebook.com

https://developers.facebook.com/bugs/190389531089978

Mais le bug n'apparaît qu'à android, ios fonctionne bien.

(btw même comportement dans le foursquare et spotify android app – vérifiez-le)

Exécutez votre application iOS FB dans l'appareil non simulateur il fonctionne très bien, et n'a pas montré l'écran déjà autorisé. Je vous remercie.

Comme cette question est déjà répondu, mais je voudrais append une autre réponse utile pour Swift 3.0 :

Tout en utilisant FB Login dans Swift, j'ai un problème et j'ai précédemment fait de cette façon:

 let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager() fbLoginManager.loginBehavior = .systemAccount 

Comme cela utilise, count système pour vérifier l'user est autorisé pour la connection ou non. Sauf si vous vous déconnectez et vous connectez via un autre user, l'application affiche le même message "Déjà autorisé" à la place de la connection Fresh. Donc, j'ai utilisé cette façon et cette astuce fait le travail:

 let fbLoginManager : FBSDKLoginManager = FBSDKLoginManager() fbLoginManager.loginBehavior = .web. 

Affiche l'écran de connection après la déconnection. J'espère que cela aidera à résoudre ce problème.

N'hésitez pas à commenter. Merci.