O que é autenticação baseada em token?

quero entender o que significa autenticação baseada em fichas. Procurei na internet, mas não encontrei nada compreensível.

Author: kristianp, 2009-10-20

8 answers

Acho que está bem explicado Aqui -- citando apenas as frases chave do longo artigo:

O conceito geral por detrás de uma o sistema de autenticação com base em 'token' é simples. Permitir que os utilizadores introduzam os seus utilizador e senha para obter um token que lhes permita obter um recurso específico-sem usando o seu nome de utilizador e senha. Uma vez obtido o seu símbolo, o usuário pode oferecer o token-que oferece acesso a um recurso por um período de tempo - para o remoto site.

Em outras palavras: adicionar um nível de indireção para autenticação-em vez de ter de autenticação com nome de usuário e senha para cada recurso protegido, o usuário se autentica que forma uma vez (dentro de uma sessão de duração limitada), obtém um tempo limitado token em troca, e utiliza o token para mais de autenticação durante a sessão.

As vantagens são muitas -- por exemplo, o utilizador pode passar o token, uma vez que tenha obtê-lo, em algum outro sistema automatizado que eles estão dispostos a confiar por um tempo limitado e um conjunto limitado de recursos, mas não estaria disposto a confiar em seu nome de usuário e senha (ou seja, com todos os recursos que eles estão autorizados a acessar, para sempre ou pelo menos até que eles mudem sua senha).

Se alguma coisa ainda não estiver clara, por favor, edite a sua pergunta para esclarecer o que não está 100% claro para si, e tenho a certeza que podemos ajudá-lo mais.

 451
Author: Alex Martelli, 2009-10-20 05:05:59

De Auth0.com

A autenticação por Token baseia-se num token assinado que é enviado para o servidor em cada pedido.

Quais são os benefícios de usar uma abordagem baseada em fichas?
  • Cross-domain/CORS: cookies + CORS não jogam bem em diferentes domínios. Uma abordagem baseada em fichas permite-lhe fazer AJAX chamadas para qualquer servidor, em qualquer domínio, porque você usa um cabeçalho HTTP para transmitir o utilizador informacao.

  • Stateless (t. c. p.Server side scalability): não há necessidade de manter uma loja de sessões, o token é uma entidade autónoma que transmite toda a informação do utilizador. O resto do estado vive em cookies ou armazenamento local do lado do cliente.

  • CDN: pode servir todos os activos da sua aplicação a partir de um CDN (por exemplo, javascript, HTML, imagens, etc.), e seu lado servidor é apenas a API.

  • Dissociação: Não Está ligado a nenhum sistema de autenticação específico. O token pode ser gerado em qualquer lugar, daí a sua API pode ser chamado de qualquer lugar com uma única forma de autenticar aqueles chama.

  • Mobile ready: quando você começa a trabalhar em uma plataforma nativa (iOS, Android, Windows 8, etc.) os cookies não são ideais quando consomem um uma abordagem baseada em fichas simplifica muito isto.

  • CSRF: desde você não está confiando em cookies, você não precisa proteger contra pedidos de cross site (por exemplo, não seria possível SIB seu site, gerar um pedido de POST e reutilizar o cookie de autenticação existente, porque não haverá nenhum).

  • Desempenho: não estamos a apresentar quaisquer referências perf difíceis aqui, mas uma rede roundtrip (por exemplo, encontrar uma sessão na base de dados) é provável que leve mais tempo do que o cálculo de um HMACSHA256 a validar um item e a analisar o seu conteúdo.

 141
Author: Asik, 2017-02-23 00:14:54

A token é um dado que apenas Server X poderia ter criado, e que contém dados suficientes para identificar um utilizador em particular.

Pode apresentar a sua informação de autenticação e pedir Server X para um token; e depois pode apresentar o seu token e pedir a Server X para efectuar alguma acção específica do utilizador.

Tokens são criados usando várias combinações de várias técnicas do campo da criptografia, bem como com a entrada do campo mais amplo de pesquisa de segurança. Se se decidires criar o teu próprio sistema, é melhor seres muito inteligente.

 75
Author: yfeldblum, 2009-10-20 05:02:28

Um token é um pedaço de dados criado pelo servidor, e contém informações para identificar um determinado usuário e validade token. O token irá conter a informação do usuário, bem como um código token especial que o usuário pode passar para o servidor com cada método que suporta autenticação, em vez de passar um nome de usuário e senha diretamente.

Token-based authentication é uma técnica de segurança que autentica os usuários que tentam entrar em um servidor, uma rede, ou algum outro sistema seguro, usando um token de segurança fornecido pelo servidor.

Uma autenticação é bem sucedida se um utilizador puder provar a um servidor que ele ou ela é um utilizador válido ao passar um símbolo de segurança. O serviço valida o token de segurança e processa o pedido do Usuário.

Após a validação do token pelo serviço, é usado para estabelecer o contexto de segurança para o cliente, para que o serviço possa tomar decisões de autorização ou actividade de auditoria para utilizadores sucessivos. solicitacao.

Visitar a fonte

 37
Author: DeepakK, 2011-08-18 13:16:31

A questão é antiga e a tecnologia avançou, aqui está o estado actual:

JSON Web Token (JWT) é um padrão aberto baseado em JSON (RFC 7519) para a aprovação de reivindicações entre partes no ambiente de aplicações web. Os tokens são projetados para serem compactos, seguros para URL e utilizáveis especialmente no contexto do navegador Web single sign-on (SSO).

Https://en.wikipedia.org/wiki/JSON_Web_Token

 13
Author: Ray Hulha, 2016-05-31 10:53:18

Com Base No Item (Segurança / Autenticação)

Significa que, para provarmos que temos acesso, temos de receber a ficha. Num cenário de vida real, a ficha pode ser um cartão de acesso ao edifício, pode ser a chave da fechadura da sua casa. A fim de que você recupere um cartão-chave para o seu escritório ou a chave de sua casa, você primeiro precisa provar quem você é, e que você de fato tem acesso a esse símbolo. Pode ser algo tão simples como mostrar alguém com a sua IDENTIFICAÇÃO ou uma senha secreta. Imagina que preciso de ter acesso ao meu escritório. Vou ao gabinete de segurança, mostro-lhes a minha identificação, e eles dão-me esta ficha, que me deixa entrar no edifício. Agora tenho acesso ilimitado para fazer o que quiser dentro do edifício, desde que tenha o meu símbolo comigo.

Qual é o benefício da segurança baseada em fichas?

Se pensarmos na API insegura, o que tínhamos de fazer nesse caso era que tínhamos de fornecer a nossa senha para tudo o que queríamos fazer.

Imagine que cada vez que entramos em uma porta em nosso escritório, temos que dar a todos sentados ao lado da porta nossa senha. Isso seria muito mau, porque isso significa que qualquer um no nosso escritório pode pegar na nossa palavra-passe e fazer-se passar por nós, e isso é muito mau. Em vez disso, o que fazemos é recuperar o símbolo, claro, juntamente com a senha, mas recuperamos isso de uma pessoa. E depois podemos usar este símbolo onde quer que seja. queremos entrar no edifício. Claro, se quisermos perder o token, temos o mesmo problema como se alguém sabia a senha de acesso, mas que nos leva a coisas como podemos ter certeza de que se perdermos o token, pode revogar o acesso, e talvez o token não deveria viver por mais de 24 horas, para o dia seguinte que chegamos ao escritório, precisamos mostrar nosso ID. Mas ainda assim, só há uma pessoa a quem mostramos a identificação, e esse é o segurança sentado onde recuperamos as fichas.

 9
Author: Ahmer Ali Ahsan, 2018-01-25 14:37:35

É apenas uma sequência de número predefinido de caracteres que está associado com o utilizador na base de dados ou de outra forma. Esse token pode ser usado para autorizar um usuário a acessar outros conteúdos relacionados da aplicação. Para obter este token no login do lado do cliente é necessário. Após a primeira sessão de login você precisa salvar token recuperado Não quaisquer outros dados como sessão, ID de sessão, porque aqui tudo é token para acessar outros recursos da aplicação.

Token é usado para assegurar a autenticidade do utilizador.

 3
Author: Hardik Patel, 2018-03-09 10:12:31

Quando você se registra para um novo site, muitas vezes você é enviado um e-mail para ativar a sua conta. Esse e-mail normalmente contém um link para clicar. Parte desse link, contém um token, o servidor sabe sobre este token e pode associá-lo com sua conta. O token normalmente teria uma data de validade associada a ele, então você pode ter apenas uma hora para clicar no link e ativar sua conta. Nada disso seria possível com cookies ou variáveis de sessão, uma vez que o seu dispositivo ou navegador que o cliente está usando para verificar e-mails.

 0
Author: user3094826, 2016-11-30 07:47:11