Temos um site onde a única forma de fazer o login e autenticar-se no site é com o Facebook (não foi minha escolha). Na primeira vez que você faz login no Facebook, uma conta é criada automaticamente para você.
Agora queremos criar um aplicativo para iPhone para nosso site e também uma API pública para que outros usem nosso serviço.
Esta questão é sobre como autenticar nosso site a partir do aplicativo / API e está dividida em 2 partes:
Qual é a maneira correta de lidar com a autenticação REST de uma API para um site que usa apenas Facebook OAuth como método de autenticação?
Eu li e pesquisei muito sobre métodos padrão de autenticação para API REST. Não podemos usar métodos como autenticação básica sobre HTTPS , pois não há credenciais para um usuário como tal. Algo como este parece ser apenas para a autenticação de aplicações usando a API.
Atualmente, a melhor maneira que posso pensar é que você atinge um ponto final / autorizar em nossa API, ele redireciona para o OAuth do Facebook, depois redireciona de volta para o site e fornece um 'token' que o usuário da API pode usar para autenticar subsequentemente solicitações de.
Para um aplicativo oficial que criamos, não precisaríamos necessariamente usar a API pública da mesma maneira. Qual seria a melhor maneira de falar com nosso site e autenticar usuários?
Eu entendo (eu acho) como autenticar aplicativos de terceiros que estão usando nossa API, usando chaves API (públicas) e chaves secretas (privadas). No entanto, quando se trata de autenticar o usuário que está usando o aplicativo, estou ficando um tanto confuso sobre como fazer isso, quando a única maneira de autenticar um usuário é o Facebook.
Sinto que estou perdendo algo muito óbvio ou não entendo totalmente como as APIs REST públicas devem funcionar, então qualquer conselho e ajuda seriam muito apreciados.