Estou iniciando um novo projeto em breve, que tem como alvo aplicativos móveis para todas as principais plataformas móveis (iOS, Android, Windows). Será uma arquitetura cliente-servidor.
O aplicativo é informativo e transacional. Para a parte transacional, eles precisam ter uma conta e efetuar login antes que uma transação possa ser feita. Eu sou novo no desenvolvimento móvel, por isso não sei como a parte de autenticação é feita nessas plataformas. Os clientes se comunicarão com o servidor por meio de uma API REST. Estará usando HTTPS, é claro.
Ainda não decidi se quero que o usuário efetue login quando abrir o aplicativo ou apenas quando realizar uma transação.
Eu recebi as seguintes perguntas:
1) Como o aplicativo do Facebook, você só insere suas credenciais quando abre o aplicativo pela primeira vez. Depois disso, você será conectado automaticamente sempre que abrir o aplicativo. Como alguém consegue isso? Simplesmente criptografando e armazenando as credenciais no dispositivo e enviando-as sempre que o aplicativo é iniciado?
2) Preciso autenticar o usuário para cada solicitação (transacional) feita na API REST ou usar uma abordagem baseada em token?
Por favor, sinta-se livre para sugerir outras formas de autenticação.
Obrigado!