🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

rivia-cognito-authorizer

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

rivia-cognito-authorizer

Cognito authorizer for fastapi based projects

1.0.0
PyPI
Maintainers
1

Rivia Cognito FastAPI Authorizer

Este projeto fornece uma implementação de um autorizador JWT usando o Amazon Cognito e FastAPI. Ele verifica tokens JWT para autenticação e autorização de usuários.

Requisitos

Certifique-se de que as seguintes variáveis de ambiente estejam configuradas:

  • REGION: A região AWS onde seu User Pool do Cognito está localizado.
  • COGNITO_USER_POOL_ID: O ID do User Pool do Cognito.
  • COGNITO_APP_CLIENT_ID: O ID do cliente da aplicação do Cognito.

Instalação

  • Clone o repositório:

    git clone <URL_DO_REPOSITORIO>
    cd rivia-cognito-fastapi-authorizer
    
  • Instale as dependências:

    pip install -r requirements.txt
    

Uso

Verificação de Token

A função verify_token verifica a validade de um token JWT. Ela realiza várias verificações, incluindo a assinatura do token, a expiração e a audiência.

Exemplo de uso:

from fastapi import FastAPI, Depends
from rivia-cognito-authorizer import verify_token

app = FastAPI()

@app.get("/secure-endpoint")
async def secure_endpoint(token_payload: dict = Depends(verify_token)):
    return {"message": "This is a secure endpoint", "user": token_payload}

Verificação de Grupos

A função allowed_for_groups cria uma dependência que verifica se o usuário pertence a um dos grupos especificados.

Exemplo de uso:

from fastapi import FastAPI, Depends
from rivia-cognito-authorizer import allowed_for_groups

app = FastAPI()

@app.get("/admin-endpoint")
async def admin_endpoint(token_payload: dict = Depends(allowed_for_groups(["admin"]))):
    return {"message": "This is an admin endpoint", "user": token_payload}

Licença

Este projeto está licenciado sob a Licença Apache 2.0. Veja o arquivo LICENSE para mais detalhes.

Keywords

elasticsearch

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts