microsoftgraph / microsoftgraph/msgraph-beta-sdk-python
authentication_protocol property of sign-ins events is always an empty list
Ninguém assumiu esta issue ainda.
- Linguagem predominante
- Python
- Estrelas
- 44
- Forks
- 16
- Merge médio
- 20h 39min
- PRs com merge (30d)
- 3
Descrição
Describe the bug
When accessing a sign-in event, for example via audit_logs.sign_ins.get() the authentication_protocol property is always an empty list ([]).
If you look at the same sign-in event in Entra ID or Graph Explorer, the field authenticationProtocol is properly filled.
Expected behavior
The authentication_protocol property should contain one of the allowed values. See https://learn.microsoft.com/en-us/graph/api/resources/signin?view=graph-rest-beta#properties -> authenticationProtocol
How to reproduce
Run
import asyncio
from azure.identity.aio import ClientSecretCredential
from msgraph_beta import GraphServiceClient
credential = ClientSecretCredential(
'tenant_id',
'client_id',
'client_secret'
)
scopes = ['https://graph.microsoft.com/.default']
graph_client = GraphServiceClient(credential, scopes=scopes)
async def get_signins()-> None:
signins =await graph_client.audit_logs.sign_ins.get()
for signin in signins.value:
print(signin.authentication_protocol)
asyncio.run(get_signins())
and compare it to the authenticationProtocol field in the output of https://graph.microsoft.com/beta/auditLogs/signIns
SDK Version
1.51.0
Latest version known to work for scenario above?
No response
Known Workarounds
No response
Debug output
Configuration
- OS: Ubuntu 22.04
- architecture: x86_64
Other information
I suspect the usage of get_collection_of_enum_values() instead of get_enum_value() to be the reason for this:
https://github.com/microsoftgraph/msgraph-beta-sdk-python/blob/a606d0365c39a5c2e5f658841a1a7c58d270438b/msgraph_beta/generated/models/sign_in.py#L295
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.
Direção de pesquisa
Comece pelo local de generated models/sign_in.py vinculado no issue, especialmente pelo tratamento de authentication_protocol por volta da linha 295. Execute o exemplo fornecido de recuperação de login e compare o valor do SDK com a resposta do Graph beta; considera-se concluído quando authentication_protocol contiver o valor permitido retornado, em vez de uma lista vazia.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- python
- Domínio
- api
- Tipo de issue
- Bug
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Status de atividade
- Estagnada
- Clareza
- Claramente especificada
- Facilidade para iniciantes
- 48/100