Skip to content

Commit 2b603f5

Browse files
committed
#713: support for oauth2 device code auth introduced
1 parent 8f49845 commit 2b603f5

File tree

6 files changed

+216
-9
lines changed

6 files changed

+216
-9
lines changed
+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
"""
2+
Demonstrates how to authenticate users on devices or operating systems that don't provide a web browser.
3+
Device code flow lets the user use another device such as a computer or a mobile phone to sign in interactively.
4+
5+
https://learn.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code
6+
"""
7+
8+
from office365.sharepoint.client_context import ClientContext
9+
from tests import test_tenant, test_client_id, test_site_url
10+
11+
ctx = ClientContext(test_site_url).with_device_flow(test_tenant, test_client_id)
12+
me = ctx.web.current_user.get().execute_query()
13+
print(me.login_name)
14+
web = ctx.web.get().execute_query()
15+
print(web.title)

generator/import_metadata.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ def export_to_file(path, content):
1515

1616
parser = ArgumentParser()
1717
parser.add_argument("-e", "--endpoint", dest="endpoint",
18-
help="Import metadata endpoint", default="sharepoint")
18+
help="Import metadata endpoint", default="microsoftgraph")
1919
parser.add_argument("-p", "--path",
20-
dest="path", default="./metadata/SharePoint.xml",
20+
dest="path", default="./metadata/MicrosoftGraph.xml",
2121
help="Import metadata endpoint")
2222

2323
args = parser.parse_args()

generator/metadata/MicrosoftGraph.xml

+130-5
Original file line numberDiff line numberDiff line change
@@ -25406,14 +25406,20 @@
2540625406
</ComplexType>
2540725407
<ComplexType Name="conditionalAccessAllExternalTenants" BaseType="graph.conditionalAccessExternalTenants"/>
2540825408
<ComplexType Name="conditionalAccessApplications">
25409+
<Property Name="applicationFilter" Type="graph.conditionalAccessFilter"/>
2540925410
<Property Name="excludeApplications" Type="Collection(Edm.String)" Nullable="false"/>
2541025411
<Property Name="includeApplications" Type="Collection(Edm.String)" Nullable="false"/>
2541125412
<Property Name="includeAuthenticationContextClassReferences" Type="Collection(Edm.String)" Nullable="false"/>
2541225413
<Property Name="includeUserActions" Type="Collection(Edm.String)" Nullable="false"/>
2541325414
</ComplexType>
25415+
<ComplexType Name="conditionalAccessFilter">
25416+
<Property Name="mode" Type="graph.filterMode" Nullable="false"/>
25417+
<Property Name="rule" Type="Edm.String" Nullable="false"/>
25418+
</ComplexType>
2541425419
<ComplexType Name="conditionalAccessClientApplications">
2541525420
<Property Name="excludeServicePrincipals" Type="Collection(Edm.String)" Nullable="false"/>
2541625421
<Property Name="includeServicePrincipals" Type="Collection(Edm.String)" Nullable="false"/>
25422+
<Property Name="servicePrincipalFilter" Type="graph.conditionalAccessFilter"/>
2541725423
</ComplexType>
2541825424
<ComplexType Name="conditionalAccessConditionSet">
2541925425
<Property Name="applications" Type="graph.conditionalAccessApplications"/>
@@ -25448,10 +25454,6 @@
2544825454
<Property Name="includeRoles" Type="Collection(Edm.String)" Nullable="false"/>
2544925455
<Property Name="includeUsers" Type="Collection(Edm.String)" Nullable="false"/>
2545025456
</ComplexType>
25451-
<ComplexType Name="conditionalAccessFilter">
25452-
<Property Name="mode" Type="graph.filterMode" Nullable="false"/>
25453-
<Property Name="rule" Type="Edm.String" Nullable="false"/>
25454-
</ComplexType>
2545525457
<ComplexType Name="conditionalAccessEnumeratedExternalTenants" BaseType="graph.conditionalAccessExternalTenants">
2545625458
<Property Name="members" Type="Collection(Edm.String)" Nullable="false"/>
2545725459
</ComplexType>
@@ -30510,9 +30512,13 @@
3051030512
<NavigationProperty Name="bot" Type="graph.teamworkBot" ContainsTarget="true"/>
3051130513
</EntityType>
3051230514
<EntityType Name="teamworkBot" BaseType="graph.entity"/>
30515+
<EntityType Name="teamsAppSettings" BaseType="graph.entity">
30516+
<Property Name="allowUserRequestsForAppAccess" Type="Edm.Boolean"/>
30517+
</EntityType>
3051330518
<EntityType Name="teamwork" BaseType="graph.entity">
3051430519
<NavigationProperty Name="workforceIntegrations" Type="Collection(graph.workforceIntegration)" ContainsTarget="true"/>
3051530520
<NavigationProperty Name="deletedTeams" Type="Collection(graph.deletedTeam)" ContainsTarget="true"/>
30521+
<NavigationProperty Name="teamsAppSettings" Type="graph.teamsAppSettings" ContainsTarget="true"/>
3051630522
</EntityType>
3051730523
<EntityType Name="workforceIntegration" BaseType="graph.changeTrackedEntity">
3051830524
<Property Name="apiVersion" Type="Edm.Int32"/>
@@ -36065,7 +36071,6 @@
3606536071
</EntitySet>
3606636072
<EntitySet Name="groupSettings" EntityType="microsoft.graph.groupSetting"/>
3606736073
<EntitySet Name="groupSettingTemplates" EntityType="microsoft.graph.groupSettingTemplate"/>
36068-
<EntitySet Name="localizations" EntityType="microsoft.graph.organizationalBrandingLocalization"/>
3606936074
<EntitySet Name="oauth2PermissionGrants" EntityType="microsoft.graph.oAuth2PermissionGrant"/>
3607036075
<EntitySet Name="organization" EntityType="microsoft.graph.organization">
3607136076
<NavigationPropertyBinding Path="certificateBasedAuthConfiguration" Target="certificateBasedAuthConfiguration"/>
@@ -36292,6 +36297,12 @@
3629236297
<Member Name="resolved" Value="8"/>
3629336298
<Member Name="unknownFutureValue" Value="31"/>
3629436299
</EnumType>
36300+
<EnumType Name="containerPortProtocol">
36301+
<Member Name="udp" Value="0"/>
36302+
<Member Name="tcp" Value="1"/>
36303+
<Member Name="sctp" Value="2"/>
36304+
<Member Name="unknownFutureValue" Value="3"/>
36305+
</EnumType>
3629536306
<EnumType Name="defenderAvStatus">
3629636307
<Member Name="notReporting" Value="0"/>
3629736308
<Member Name="disabled" Value="1"/>
@@ -36378,6 +36389,14 @@
3637836389
<Member Name="noThreatsFound" Value="3"/>
3637936390
<Member Name="unknownFutureValue" Value="4"/>
3638036391
</EnumType>
36392+
<EnumType Name="fileHashAlgorithm">
36393+
<Member Name="unknown" Value="0"/>
36394+
<Member Name="md5" Value="1"/>
36395+
<Member Name="sha1" Value="2"/>
36396+
<Member Name="sha256" Value="3"/>
36397+
<Member Name="sha256ac" Value="4"/>
36398+
<Member Name="unknownFutureValue" Value="5"/>
36399+
</EnumType>
3638136400
<EnumType Name="googleCloudLocationType">
3638236401
<Member Name="unknown" Value="0"/>
3638336402
<Member Name="regional" Value="1"/>
@@ -36393,6 +36412,22 @@
3639336412
<Member Name="unknownFutureValue" Value="127"/>
3639436413
<Member Name="awaitingAction" Value="128"/>
3639536414
</EnumType>
36415+
<EnumType Name="kubernetesPlatform">
36416+
<Member Name="unknown" Value="0"/>
36417+
<Member Name="aks" Value="1"/>
36418+
<Member Name="eks" Value="2"/>
36419+
<Member Name="gke" Value="3"/>
36420+
<Member Name="arc" Value="4"/>
36421+
<Member Name="unknownFutureValue" Value="5"/>
36422+
</EnumType>
36423+
<EnumType Name="kubernetesServiceType">
36424+
<Member Name="unknown" Value="0"/>
36425+
<Member Name="clusterIP" Value="1"/>
36426+
<Member Name="externalName" Value="2"/>
36427+
<Member Name="nodePort" Value="3"/>
36428+
<Member Name="loadBalancer" Value="4"/>
36429+
<Member Name="unknownFutureValue" Value="31"/>
36430+
</EnumType>
3639636431
<EnumType Name="onboardingStatus">
3639736432
<Member Name="insufficientInfo" Value="0"/>
3639836433
<Member Name="onboarded" Value="1"/>
@@ -36758,13 +36793,57 @@
3675836793
<Property Name="resourceName" Type="Edm.String"/>
3675936794
<Property Name="resourceType" Type="Edm.String"/>
3676036795
</ComplexType>
36796+
<ComplexType Name="blobContainerEvidence" BaseType="microsoft.graph.security.alertEvidence">
36797+
<Property Name="name" Type="Edm.String"/>
36798+
<Property Name="storageResource" Type="microsoft.graph.security.azureResourceEvidence"/>
36799+
<Property Name="url" Type="Edm.String"/>
36800+
</ComplexType>
36801+
<ComplexType Name="blobEvidence" BaseType="microsoft.graph.security.alertEvidence">
36802+
<Property Name="blobContainer" Type="microsoft.graph.security.blobContainerEvidence"/>
36803+
<Property Name="etag" Type="Edm.String"/>
36804+
<Property Name="fileHashes" Type="Collection(microsoft.graph.security.fileHash)"/>
36805+
<Property Name="name" Type="Edm.String"/>
36806+
<Property Name="url" Type="Edm.String"/>
36807+
</ComplexType>
36808+
<ComplexType Name="fileHash">
36809+
<Property Name="algorithm" Type="microsoft.graph.security.fileHashAlgorithm" Nullable="false"/>
36810+
<Property Name="value" Type="Edm.String"/>
36811+
</ComplexType>
3676136812
<ComplexType Name="cloudApplicationEvidence" BaseType="microsoft.graph.security.alertEvidence">
3676236813
<Property Name="appId" Type="Edm.Int64"/>
3676336814
<Property Name="displayName" Type="Edm.String"/>
3676436815
<Property Name="instanceId" Type="Edm.Int64"/>
3676536816
<Property Name="instanceName" Type="Edm.String"/>
3676636817
<Property Name="saasAppId" Type="Edm.Int64"/>
3676736818
</ComplexType>
36819+
<ComplexType Name="containerEvidence" BaseType="microsoft.graph.security.alertEvidence">
36820+
<Property Name="args" Type="Collection(Edm.String)"/>
36821+
<Property Name="command" Type="Collection(Edm.String)"/>
36822+
<Property Name="containerId" Type="Edm.String"/>
36823+
<Property Name="image" Type="microsoft.graph.security.containerImageEvidence"/>
36824+
<Property Name="isPrivileged" Type="Edm.Boolean" Nullable="false"/>
36825+
<Property Name="name" Type="Edm.String"/>
36826+
<Property Name="pod" Type="microsoft.graph.security.kubernetesPodEvidence"/>
36827+
</ComplexType>
36828+
<ComplexType Name="containerImageEvidence" BaseType="microsoft.graph.security.alertEvidence">
36829+
<Property Name="digestImage" Type="microsoft.graph.security.containerImageEvidence"/>
36830+
<Property Name="imageId" Type="Edm.String"/>
36831+
<Property Name="registry" Type="microsoft.graph.security.containerRegistryEvidence"/>
36832+
</ComplexType>
36833+
<ComplexType Name="kubernetesPodEvidence" BaseType="microsoft.graph.security.alertEvidence">
36834+
<Property Name="containers" Type="Collection(microsoft.graph.security.containerEvidence)"/>
36835+
<Property Name="controller" Type="microsoft.graph.security.kubernetesControllerEvidence"/>
36836+
<Property Name="ephemeralContainers" Type="Collection(microsoft.graph.security.containerEvidence)"/>
36837+
<Property Name="initContainers" Type="Collection(microsoft.graph.security.containerEvidence)"/>
36838+
<Property Name="labels" Type="microsoft.graph.security.dictionary"/>
36839+
<Property Name="name" Type="Edm.String"/>
36840+
<Property Name="namespace" Type="microsoft.graph.security.kubernetesNamespaceEvidence"/>
36841+
<Property Name="podIp" Type="microsoft.graph.security.ipEvidence"/>
36842+
<Property Name="serviceAccount" Type="microsoft.graph.security.kubernetesServiceAccountEvidence"/>
36843+
</ComplexType>
36844+
<ComplexType Name="containerRegistryEvidence" BaseType="microsoft.graph.security.alertEvidence">
36845+
<Property Name="registry" Type="Edm.String"/>
36846+
</ComplexType>
3676836847
<ComplexType Name="deviceEvidence" BaseType="microsoft.graph.security.alertEvidence">
3676936848
<Property Name="azureAdDeviceId" Type="Edm.String"/>
3677036849
<Property Name="defenderAvStatus" Type="microsoft.graph.security.defenderAvStatus"/>
@@ -36793,6 +36872,7 @@
3679336872
<Property Name="subscriptionId" Type="Edm.String"/>
3679436873
<Property Name="vmId" Type="Edm.String"/>
3679536874
</ComplexType>
36875+
<ComplexType Name="dictionary" OpenType="true"/>
3679636876
<ComplexType Name="dynamicColumnValue" OpenType="true"/>
3679736877
<ComplexType Name="fileDetails">
3679836878
<Property Name="fileName" Type="Edm.String"/>
@@ -36830,6 +36910,51 @@
3683036910
<Property Name="countryLetterCode" Type="Edm.String"/>
3683136911
<Property Name="ipAddress" Type="Edm.String"/>
3683236912
</ComplexType>
36913+
<ComplexType Name="kubernetesClusterEvidence" BaseType="microsoft.graph.security.alertEvidence">
36914+
<Property Name="cloudResource" Type="microsoft.graph.security.alertEvidence"/>
36915+
<Property Name="distribution" Type="Edm.String"/>
36916+
<Property Name="name" Type="Edm.String"/>
36917+
<Property Name="platform" Type="microsoft.graph.security.kubernetesPlatform"/>
36918+
<Property Name="version" Type="Edm.String"/>
36919+
</ComplexType>
36920+
<ComplexType Name="kubernetesControllerEvidence" BaseType="microsoft.graph.security.alertEvidence">
36921+
<Property Name="labels" Type="microsoft.graph.security.dictionary"/>
36922+
<Property Name="name" Type="Edm.String"/>
36923+
<Property Name="namespace" Type="microsoft.graph.security.kubernetesNamespaceEvidence"/>
36924+
<Property Name="type" Type="Edm.String"/>
36925+
</ComplexType>
36926+
<ComplexType Name="kubernetesNamespaceEvidence" BaseType="microsoft.graph.security.alertEvidence">
36927+
<Property Name="cluster" Type="microsoft.graph.security.kubernetesClusterEvidence"/>
36928+
<Property Name="labels" Type="microsoft.graph.security.dictionary"/>
36929+
<Property Name="name" Type="Edm.String"/>
36930+
</ComplexType>
36931+
<ComplexType Name="kubernetesServiceAccountEvidence" BaseType="microsoft.graph.security.alertEvidence">
36932+
<Property Name="name" Type="Edm.String"/>
36933+
<Property Name="namespace" Type="microsoft.graph.security.kubernetesNamespaceEvidence"/>
36934+
</ComplexType>
36935+
<ComplexType Name="kubernetesSecretEvidence" BaseType="microsoft.graph.security.alertEvidence">
36936+
<Property Name="name" Type="Edm.String"/>
36937+
<Property Name="namespace" Type="microsoft.graph.security.kubernetesNamespaceEvidence"/>
36938+
<Property Name="secretType" Type="Edm.String"/>
36939+
</ComplexType>
36940+
<ComplexType Name="kubernetesServiceEvidence" BaseType="microsoft.graph.security.alertEvidence">
36941+
<Property Name="clusterIP" Type="microsoft.graph.security.ipEvidence"/>
36942+
<Property Name="externalIPs" Type="Collection(microsoft.graph.security.ipEvidence)"/>
36943+
<Property Name="labels" Type="microsoft.graph.security.dictionary"/>
36944+
<Property Name="name" Type="Edm.String"/>
36945+
<Property Name="namespace" Type="microsoft.graph.security.kubernetesNamespaceEvidence"/>
36946+
<Property Name="selector" Type="microsoft.graph.security.dictionary"/>
36947+
<Property Name="servicePorts" Type="Collection(microsoft.graph.security.kubernetesServicePort)"/>
36948+
<Property Name="serviceType" Type="microsoft.graph.security.kubernetesServiceType" Nullable="false"/>
36949+
</ComplexType>
36950+
<ComplexType Name="kubernetesServicePort">
36951+
<Property Name="appProtocol" Type="Edm.String"/>
36952+
<Property Name="name" Type="Edm.String"/>
36953+
<Property Name="nodePort" Type="Edm.Int32" Nullable="false"/>
36954+
<Property Name="port" Type="Edm.Int32" Nullable="false"/>
36955+
<Property Name="protocol" Type="microsoft.graph.security.containerPortProtocol"/>
36956+
<Property Name="targetPort" Type="Edm.String"/>
36957+
</ComplexType>
3683336958
<ComplexType Name="mailboxEvidence" BaseType="microsoft.graph.security.alertEvidence">
3683436959
<Property Name="displayName" Type="Edm.String"/>
3683536960
<Property Name="primaryAddress" Type="Edm.String"/>

0 commit comments

Comments
 (0)