O que é um token API

estou a tentar descobrir a melhor maneira de lidar com a autenticação do utilizador para a minha aplicação móvel (iOS & Android) e API (PHP).

Pelo que pesquisei, as opções são:

Autenticação Básica sobre HTTPS - Verifique o nome de utilizador / Senha do utilizador para cada pedido.

Sessions - envie um ID de sessão com cada pedido; o servidor mantém o estado. Então app envia o nome de usuário/senha e verificações do servidor para um usuário logado em pedidos subsequentes, assim como o meu site o.

tokens API - app móvel envia o nome de utilizador/senha e recebe um token de volta, em seguida, adiciona isto aos pedidos subsequentes. Token armazenado em DB e verificado em cada pedido.

Acho que a minha explicação dos símbolos API está incorrecta, pois parecem idênticos às sessões, porque guardo os ID da sessão no DB.

    A minha explicação dos símbolos API pode ser corrigida. Para que servem? Qual é a diferença entre eles e os IDs da sessão? Quais são as vantagens da API? fichas?
  1. o oAuth é apenas um protocolo para criar "tokens API"?
Author: paul, 2013-07-22

1 answers

Não sou especialista, mas dou-te alguns cêntimos que comprei.

1) Tokens API é um pouco de um termo geral. Normalmente, um token API é um identificador único de uma aplicação que solicita o acesso ao seu serviço. O seu serviço geraria um token API para a aplicação usar ao solicitar o seu serviço. Você pode então combinar o token que eles fornecem para o que você armazena, a fim de autenticar.

Pode ser usado um id de sessão, mas o seu propósito é diferente do token da API. O id da sessão não é uma forma de autenticação, mas sim um resultado da autorização. Normalmente uma sessão é estabelecida uma vez que um usuário tenha sido autorizado a usar um recurso (como o seu serviço). Portanto, um id de sessão é criado quando um usuário é concedido acesso a um recurso. Um token de API é a forma de autenticação semelhante a um nome de usuário/senha.

2) os tokens de API são um substituto para o envio de uma combinação de utilizador/senha por HTTP, que não é Segura. No entanto, o problema ainda existe que alguém poderia pegar e usar o token API em vez disso.

De certa forma, sim. É um método para manter os símbolos API "frescos". Em vez de passar em torno do mesmo token API você solicita um token de acesso quando você quer usar um serviço. Os passos de OAuth 2.0 são os seguintes:
   a) Pedido enviado ao serviço com credenciais de algum tipo
   b) a resposta Bem Sucedida devolve um código
   c) Outro Pedido de serviço é feito com o código
   d) A resposta bem sucedida devolve a token de Acesso para assinar cada pedido de API a partir de então até o fim.
Muitos dos maiores prestadores de serviços usam OAuth 2.0 neste momento. Não é uma solução perfeita, mas é provavelmente o método de segurança API mais seguro e abrangente usado no momento.
 20
Author: David Normington, 2013-07-22 12:29:58