Nous avons un site Web où le seul moyen de vous connecter et de vous authentifier avec le site est avec Facebook (ce n'était pas mon choix). La première fois que vous vous connectez avec Facebook, un compte est automatiquement créé pour vous.
Nous voulons maintenant créer une application iPhone pour notre site et également une API publique pour que d'autres puissent utiliser notre service.
Cette question concerne la manière de s'authentifier auprès de notre site Web depuis l'application / l'API et est divisée en 2 parties:
Quelle est la bonne façon de gérer l'authentification REST d'une API vers un site Web qui utilise uniquement Facebook OAuth comme méthode d'authentification?
J'ai beaucoup lu et fait de nombreuses recherches sur les méthodes standard d'authentification pour l'API REST. Nous ne pouvons pas utiliser des méthodes telles que l' authentification de base sur HTTPS , car il n'y a pas d'informations d'identification pour un utilisateur en tant que tel. Quelque chose comme cela semble être uniquement pour authentifier les applications à l'aide de l'API.
Actuellement, la meilleure façon de penser est que vous atteignez un point final / autoriser sur notre API, qu'il redirige vers Facebook OAuth, puis redirige vers le site et fournit un `` jeton '' que l'utilisateur de l'API peut utiliser pour s'authentifier ultérieurement. demandes.
Pour une application officielle que nous créons, nous n'aurions pas nécessairement besoin d'utiliser l'API publique de la même manière. Quelle serait alors la meilleure façon de parler à notre site Web et d'authentifier les utilisateurs?
Je comprends (je pense) comment authentifier les applications tierces qui utilisent notre API, en utilisant des clés API (publiques) et des clés secrètes (privées). Cependant, quand il s'agit d'authentifier l'utilisateur qui utilise l'application, je ne sais pas trop comment s'y prendre alors que le seul moyen d'authentifier un utilisateur est Facebook.
J'ai l'impression de manquer quelque chose de très évident ou de ne pas comprendre pleinement comment les API REST publiques devraient fonctionner, donc tout conseil et aide seraient grandement appréciés.