[Feature Request] Raise MSAL specific error, instead of base error `ValueError`, `RuntimeError`
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 25/100
- Tipo de issue
- Funcionalidade
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- python
- Domínio
- authentication
Direção de pesquisa
Start by reading the linked discussion from pull request #443 and the Azure CLI error handling examples in the linked files. The issue proposes MSAL-specific exception types derived from base Python errors, such as AuthorityError or MsalValueError, but leaves the API and set of errors to define. Done means MSAL raises identifiable errors for these scenarios so callers can handle them centrally; the thread has had no comment for over three years.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Originally from https://github.com/AzureAD/microsoft-authentication-library-for-python/pull/443#discussion_r895288236
Currently, MSAL raises Python's base error ValueError for scenarios such as tenant validation failure. Azure CLI can't really tell whether the error comes from MSAL or other places if we use a centralized error handling logic.
Now we handle all PersistenceError (https://github.com/AzureAD/microsoft-authentication-extensions-for-python/pull/108) in a centralized place:
elif isinstance(ex, PersistenceError):
# errno is already in strerror. str(ex) gives duplicated errno.
az_error = azclierror.CLIInternalError(ex.strerror)
if ex.errno == 0:
az_error.set_recommendation(
"Please report to us via Github: https://github.com/Azure/azure-cli/issues/20278")
elif ex.errno == -2146893813:
az_error.set_recommendation(
"Please report to us via Github: https://github.com/Azure/azure-cli/issues/20231")
elif ex.errno == -2146892987:
az_error.set_recommendation(
"Please report to us via Github: https://github.com/Azure/azure-cli/issues/21010")
This saves us from the necessity of capturing the error and handing it in all "joints" with MSAL.
But for this ValueError, we will have to capture it everywhere when MSAL interaction is made:
result = self._msal_app.acquire_token_interactive(
scopes, prompt='select_account', port=8400 if self._is_adfs else None,
success_template=success_template, error_template=error_template, **kwargs)
result = self._msal_app.acquire_token_by_device_flow(flow, **kwargs) # By default it will block
If we don't handle the error, the raw exception with traceback is shown, like in https://github.com/Azure/azure-cli/issues/20507, which is of course bad user experience.
I am thinking maybe MSAL can do the same for this ValueError (and other base error types raised) and create new error types which inherent from ValueError, such as AuthorityError, MsalValueError.
- Linguagem predominante
- Python
- Estrelas
- 971
- Forks
- 223
- Merge médio
- 13h 48min
- PRs com merge (30d)
- 2
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem 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 AzureAD/microsoft-authentication-library-for-python
-
needs attention untriaged
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
AzureAD/microsoft-authentication-library-for-python#973 · 2 comentários ·
-
AzureSDK bug P1
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 48/100
-
http_client docstring does not say that timeout, verify and proxies only configure the default sessionTalvez já em andamento @HardMax71 assumiu há 43 dias. Aberta
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 25/100
-
[Bug] The built-in retry never retries the token POST: HTTPAdapter(max_retries=1) keeps urllib3's default allowed_methodsTalvez já em andamento @HardMax71 assumiu há 49 dias. Abertabug untriaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 35/100
AzureAD/microsoft-authentication-library-for-python#957 · 3 comentários ·
-
public-client untriaged
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
Todas as issues de AzureAD/microsoft-authentication-library-for-python
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
AstrBotDevs/AstrBot#10720 ·
Mantenedores costumam responder em até 1 dia
-
fix(xiaomi): curated picker list still offers six ids that return 400 (plan-limited vs retired)Abertacause/upstream comp/cli P2 provider/other tool/file type/bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
NousResearch/hermes-agent#143900 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 1-3 horas Facilidade para iniciantes 85/100
WLAN-Pi/wlanpi-profiler#341 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 77/100
Mantenedores costumam responder em até 1 dia