Nous disposons d'un site web où les sólo Pour se connecter et s'authentifier sur le site, il faut passer par Facebook (ce n'est 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 ainsi qu'une API publique pour que d'autres puissent utiliser notre service.
Cette question porte sur la manière de s'authentifier auprès de notre site web à partir de l'application/API et se décompose 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 lu et recherché beaucoup de choses sur les méthodes standard d'authentification pour l'API REST. Nous ne pouvons pas utiliser des méthodes telles que Auth de base sur HTTPS car il n'y a pas d'informations d'identification pour un utilisateur en tant que tel. Quelque chose comme este semble être uniquement destiné à l'authentification des applications utilisant l'API.
Actuellement, la meilleure façon de procéder est d'utiliser un point de terminaison /authorize sur notre API, qui redirige vers Facebook OAuth, puis vers le site et fournit un "jeton" que l'utilisateur de l'API peut utiliser pour authentifier les demandes ultérieures.
- 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 communiquer avec notre site web et d'authentifier les utilisateurs ?
Je comprends (je pense) comment authentifier les applications tierces qui utilisent notre API, en utilisant les clés API (publiques) et les clés secrètes (privées). Cependant, lorsqu'il s'agit d'authentifier l'utilisateur qui utilise l'application, je ne sais pas trop comment m'y prendre alors que le seul moyen dont nous disposons pour authentifier un utilisateur est Facebook.
J'ai l'impression de passer à côté de quelque chose de très évident, ou de ne pas bien comprendre comment les API REST publiques devraient fonctionner, donc tout conseil et toute aide seraient grandement appréciés.