Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Missing Verification for Automatic OIDC Access Token Refreshing and JWT Expiration Claim Parsing

Fechada
#486 3 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

@aniket866 já está trabalhando nisso.

Desde 29/6/2026.

  • #487 de @aniket866 — aberto

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
72/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
go

Direção de pesquisa

Comece em pkg/connectors/microcks_client.go, em refreshAuthToken, e inspecione como a expiração dos JWT é analisada e como as solicitações de refresh são feitas. Use um servidor Keycloak simulado com httptest para cobrir os casos de tokens novos, próximos de expirar, expirados e refresh tokens expirados. Está concluído quando o comportamento esperado de refresh for verificado e os novos tokens forem salvos no YAML de configuração local, informando que é necessário fazer login novamente quando exigido.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

stale
Describe the bug
  • Location: pkg/connectors/microcks_client.go -> refreshAuthToken

  • Detailed Description:
    When you run the CLI for a long time (like keeping it active in the background), the security token it got when you logged in will eventually expire. To prevent commands from failing, we have code that reads the cached security token, parses it to see when it expires, and automatically requests a new one from the server if it's running out of time.

    Currently, we have zero tests checking this check-and-refresh logic. If a bug is introduced here, the CLI will suddenly stop working after a while and throw unauthorized errors (like HTTP 401) out of nowhere. We need to make sure the token checks are accurate and that the refresh requests are triggered correctly.

  • Test Requirements:

    • Verify that a valid, fresh token does not trigger a refresh.
    • Verify that a token close to expiry or already expired triggers the refresh server call.
    • Check that the CLI successfully updates the local configuration file with the new token.
    • Make sure the CLI handles cases where the refresh token itself has expired and tells the user to log in again.
Simulation Diagram
sequenceDiagram
    autonumber
    actor Test as Test Runner
    participant MC as microcksClient
    participant mockKC as Mock Keycloak Server (httptest)

    Test->>MC: Trigger refreshAuthToken() with Expired JWT
    activate MC
    MC->>MC: Parse JWT Claims & Detect Expiration (exp <= now)
    Note over MC: Expiration detected. Initiating refresh flow...
    MC->>mockKC: POST /protocol/openid-connect/token (refresh_token grant)
    activate mockKC
    mockKC-->>MC: HTTP 200 OK (New Auth & Refresh Tokens)
    deactivate mockKC
    MC->>MC: Save new tokens to localconfig YAML file
    MC-->>Test: Success (Token Refreshed)
    deactivate MC

Linguagem predominante
Go
Estrelas
58
Forks
72
Merge médio
1d 11h
PRs com merge (30d)
27

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de microcks/microcks-cli

Todas as issues de microcks/microcks-cli

Issues semelhantes

Mais issues de Go

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.