2012-05-22 5 views
1

Je développe sur une application pour Android où l'utilisateur peut se connecter avec son compte Facebook. Aussi, je veux stocker une entrée de l'utilisateur dans une base de données mysql. Du côté serveur, je sais que je vais vérifier si l'utilisateur s'est connecté avec Facebook (en raison des risques de sécurité) afin que seuls les utilisateurs qui se sont connectés avec Facebook puissent accéder à la base de données. Comment vais-je gérer cela? L'authentification Facebook n'est pas un problème pour moi, mais je n'ai pas de solution pour vérifier l'état de connexion sur mon site web. Merci de votre aide!Authentification Facebook sur Android + site web/serveur

Répondre

0

Vous devez enregistrer/partager AccessToken. Considérez le jeton d'accès comme un ID de session en PHP. En PHP, en utilisant le SDK, vous avez besoin des fonctions getAccessToken() et setAccessToken() (dites aussi à l'API Facebook de ne pas utiliser de cookies) * et vous partagez cette valeur.

Pour Mobile, je n'ai pas utilisé Facebook Auth dans Android Java, mais j'ai avec Titanium pour les mobiles, et les appels sont exactement les mêmes (Titanium.Facebook.getAccessToken). Fonctionne très bien quand vous le retrouvez de PHP. Le SDK Java Facebook a également

public String getAccessToken() {  return mAccessToken; } 
public void setAccessToken(String token) {  mAccessToken = token;  mLastAccessUpdate = System.currentTimeMillis(); } 

dans la classe Facebook. Vous aurez donc besoin d'utiliser ces appels ou tout autre SDK que vous utilisez pour Android.

  • Attention: Il y a une faille dans le SDK PHP Facebok que si vous appelez « setAccessToken » avec un jeton non valide (qui est commun) et vous n'êtes pas en utilisant des cookies, l'API Facebook supprime toutes vos données de session . Si vous utilisez des sessions pour quelqu'un d'autre, vous devez être conscient de cela.