1
resposta

para fazer a autenticação com token

gostaria de fazer essa mesma autenticação da aula mas via token e estou com dificuldades de fazer isso gostaria de um norte pra pesquisa e estudos

1 resposta

Olá, Eliel

Entendo que você está com dificuldades para implementar a autenticação via token. Vou te dar um norte para que você possa pesquisar e estudar mais sobre isso.

O Django Rest Framework (DRF) oferece uma maneira fácil de implementar a autenticação via token. Primeiro, você precisa adicionar 'rest_framework.authtoken' ao seu INSTALLED_APPS. Isso permitirá que o DRF crie uma nova tabela em seu banco de dados para armazenar os tokens.

INSTALLED_APPS = [
    ...
    'rest_framework.authtoken',
    ...
]

Em seguida, você precisará incluir a URL que permitirá aos usuários obterem seus tokens. Adicione a seguinte linha ao seu arquivo urls.py:

from rest_framework.authtoken import views as authtoken_views

urlpatterns = [
    ...
    path('api-token-auth/', authtoken_views.obtain_auth_token),
    ...
]

Agora, os usuários podem obter seus tokens enviando uma solicitação POST para a URL 'api-token-auth/' com seu nome de usuário e senha. O servidor retornará um token que o usuário pode usar para se autenticar.

Para usar a autenticação via token em suas views, você precisa adicionar 'rest_framework.authentication.TokenAuthentication' à lista de classes de autenticação. Aqui está um exemplo:

from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated

class AlunosViewSet(viewsets.ModelViewSet):
    ...
    authentication_classes = [TokenAuthentication]
    permission_classes = [IsAuthenticated]
    ...

Neste exemplo, a view AlunosViewSet agora requer que os usuários se autentiquem usando tokens. Eles devem incluir seu token em cada solicitação no cabeçalho de Autorização, como este: "Authorization: Token 9944b09199c62bcf9418ad846dd0e4bbdfc6ee4b".

Espero que essas informações te ajudem a implementar a autenticação via token em seu projeto. Lembre-se de que a segurança é uma parte importante de qualquer aplicativo web, e a autenticação é um componente crucial dessa segurança.

Espero ter ajudado e bons estudos!