microsoftgraph / microsoftgraph/msgraph-beta-sdk-python

authentication_protocol property of sign-ins events is always an empty list

Offen
#987 2 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

status:waiting-for-triage type:bug
Vorherrschende Sprache
Python
Sterne
44
Forks
16
Ø Merge
20 Std. 39 Min.
Gemergte PRs (30 T.)
3

Beschreibung

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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der im Issue verknüpften Position von generated models/sign_in.py, insbesondere mit der Verarbeitung von authentication_protocol um Zeile 295. Führe das bereitgestellte Beispiel zum Abrufen der Sign-in-Daten aus und vergleiche den SDK-Wert mit der Graph beta-Antwort; fertig bedeutet, dass authentication_protocol den zurückgegebenen zulässigen Wert statt einer leeren Liste enthält.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
api
Issue-Typ
Bug
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Klar beschrieben
Anfängerfreundlichkeit
48/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.