[coverage] Conformance findings: AUTH-019
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 72/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- python
- Domínio
- authentication, backend, databases
Direção de pesquisa
Comece por backend/kernel/auth_bridge.py::_normalize_scopes e pelo teste xfail test_oauth_m2m_token_request_uses_configured_scopes no diff do PR de cobertura em tests/. Verifique como as entradas de scopes configurados são tratadas em relação a espaços em branco e duplicatas e, em seguida, execute esse teste. O trabalho estará concluído quando os scopes configurados produzirem o único token sql, enquanto scopes em branco ou não definidos retornarem a all-apis e as asserções da sessão passarem.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Summary
Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-python. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-sql-python) is fixed, then flips green as a tripwire.
Findings
- AUTH-019 [sea]: kernel/SEA OAuth M2M does not normalize
oauth_scopes: list entries are forwarded verbatim, so a padded/duplicated entry sends a repeated scope token and a whitespace-only entry sends a blank scope the token endpoint rejects (HTTP 400 invalid_scope) instead of falling back toall-apis(backend/kernel/auth_bridge.py::_normalize_scopes)- failing test:
test_oauth_m2m_token_request_uses_configured_scopes(see the coverage PR diff undertests/)
- failing test:
- AUTH-019: kernel/SEA OAuth M2M does not normalize
oauth_scopes: list entries are forwarded verbatim, so a padded/duplicated entry ([" sql sql "]) sends a repeated scope token and a whitespace-only entry ([" "]) sends a blank scope that the workspace token endpoint rejects with HTTP 400 invalid_scope instead of falling back to theall-apisdefault (backend/kernel/auth_bridge.py::_normalize_scopes)
Reproduce & Expected
AUTH-019 — Verifies that the driver's OAuth scopes option decides what the client-credentials (M2M) token request asks for, instead of always requesting all-apis, so a service principal whose secret is scoped…
Reproduce:
SELECT CURRENT_USER() AS user
SELECT CURRENT_USER() AS user
SELECT CURRENT_USER() AS user
SELECT CURRENT_USER() AS user
Expected (per the shared spec):
- result has exactly 1 row(s)
- result has exactly 1 row(s)
- result has exactly 1 row(s)
- result has exactly 1 row(s)
- full assertion contract:
result:
- label: configured_scopes
oauth_token_request_scope_tokens:
grant_type: client_credentials
equals:
- sql
- label: configured_scopes
row_count: 1
- label: sloppy_scopes
oauth_token_request_scope_tokens:
grant_type: client_credentials
equals:
- sql
- label: sloppy_scopes
row_count: 1
- label: blank_scopes
oauth_token_request_scope_tokens:
grant_type: client_credentials
equals:
- all-apis
- label: blank_scopes
row_count: 1
- label: unset_scopes
oauth_token_request_scope_tokens:
grant_type: client_credentials
equals:
- all-apis
- label: unset_scopes
row_count: 1
protocol:
thrift:
- call_min:
method: OpenSession
min: 1
sea:
- call_min:
operation: CreateSession
min: 1
Context
- The behavior was first fixed in a DIFFERENT driver — reference PR: https://github.com/databricks/databricks-sql-nodejs/pull/583 — which seeded the shared language-neutral spec. This issue tracks the same conformance gap in databricks/databricks-sql-python; the reference PR is for cross-referencing the intended behavior, NOT a change to this repo.
- Coverage PR carrying the reproducing xfail test(s): https://github.com/databricks/databricks-driver-test/pull/2020
- Linguagem predominante
- Python
- Estrelas
- 236
- Forks
- 162
- Merge médio
- 13h 13min
- PRs com merge (30d)
- 23
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de databricks/databricks-sql-python
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
databricks/databricks-sql-python#1012 ·
Mantenedores costumam responder em até 1 dia
-
Token federation: `_exchange_token` raises KeyError('access_token') on error responses, discarding the real failure reasonTalvez já em andamento @TangoEnSkai assumiu há 81 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
databricks/databricks-sql-python#904 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
databricks/databricks-sql-python#865 ·
Mantenedores costumam responder em até 1 dia
-
engineer-bot
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
databricks/databricks-sql-python#860 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Cursor.close() leaks server-side handle for async commands that were never fetchedTalvez já em andamento @nanookclaw assumiu há 176 dias. Abertabug engineer-bot
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
databricks/databricks-sql-python#791 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de databricks/databricks-sql-python
Issues semelhantes
-
premises-missing
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
WingedGuardian/GENesis-AGI#4432 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 78/100
huggingface/skills#301 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
intuitem/ciso-assistant-community#5275 ·
Mantenedores costumam responder em até 1 dia
-
comp/desktop P3 type/feature
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
NousResearch/hermes-agent#154285 ·
Mantenedores costumam responder em até 1 dia