• Stars
    star
    944
  • Rank 48,415 (Top 1.0 %)
  • Language
    TypeScript
  • License
    Other
  • Created over 5 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Authentication Providers and UI components for Microsoft Graph 🦒


Microsoft Graph Toolkit

UI Components and Authentication Providers for Microsoft Graph

Documentation

The Microsoft Graph Toolkit is a collection of reusable, framework-agnostic components and authentication providers for accessing and working with Microsoft Graph. The components are fully functional right of out of the box, with built in providers that authenticate with and fetch data from Microsoft Graph.

Packages • Components • Providers • Getting Started • Running the Samples • Contribute • Feedback & Requests
• License • Code of Conduct

Packages

Package Latest Next
@microsoft/mgt
@microsoft/mgt-element
@microsoft/mgt-components
@microsoft/mgt-react
@microsoft/mgt-msal-provider
@microsoft/mgt-msal2-provider
@microsoft/mgt-teams-provider
@microsoft/mgt-teams-msal2-provider
@microsoft/mgt-teamsfx-provider
@microsoft/mgt-sharepoint-provider
@microsoft/mgt-proxy-provider
@microsoft/mgt-spfx
@microsoft/mgt-electron-provider

Preview packages

In addition to the @next preview packages, we also ship packages under several other preview tags with various features in progress:

Tag Description
next Next release - updated on each commit to main
next.fluentui Next major release (v3) with components based on FluentUI web components

To install these packages, use the tag as the version in your npm i command. Ex: npm i @microsoft/[email protected]. Make sure to install the same version for all mgt packages to avoid any conflicts. Keep in mind, these are features in preview and are not recommended for production use.

Components

You can explore components and samples with the playground powered by storybook.

The Toolkit currently includes the following components:

All web components are also available as React component - see @microsoft/mgt-react documentation.

Providers

Providers enable authentication and provide the implementation for acquiring access tokens on various platforms. The providers also expose a Microsoft Graph Client for calling the Microsoft Graph APIs. The components work best when used with a provider, but the providers can be used on their own as well.

You can also create your own providers by extending the IProvider abstract class.

View the full documentation

Getting Started

The following guides are available to help you get started with the Toolkit:

You can use the components by referencing the loader directly (via unpkg), or installing the npm package

Use via mgt-loader:

<script src="https://unpkg.com/@microsoft/mgt@2/dist/bundle/mgt-loader.js"></script>

NOTE: This link will load the highest available version of @microsoft/mgt in the range >= 2.0.0 < 3.0.0, omitting the @2 fragment from the url results in loading the latest version. This could result in loading a new major version and breaking the application.

You can then start using the components in your html page. Here is a full working example with the Msal2 provider:

<script src="https://unpkg.com/@microsoft/mgt@2/dist/bundle/mgt-loader.js"></script>
<mgt-msal2-provider client-id="[CLIENT-ID]"></mgt-msal2-provider>
<mgt-login></mgt-login>

<!-- <script>
    // alternatively, you can set the provider in code and provide more options
    mgt.Providers.globalProvider = new mgt.Msal2Provider({clientId: '[CLIENT-ID]'});
</script> -->

NOTE: MSAL requires the page to be hosted in a web server for the authentication redirects. If you are just getting started and want to play around, the quickest way is to use something like live server in vscode.

Use via NPM:

The benefits of using MGT through NPM is that you have full control of the bundling process and you can bundle only the code you need for your site. First, add the npm package:

npm install @microsoft/mgt

Now you can reference all components and providers at the page you are using:

<script type="module" src="node_modules/@microsoft/mgt/dist/es6/index.js"></script>

<mgt-msal2-provider client-id="[CLIENT-ID]"></mgt-msal2-provider>

<mgt-login></mgt-login>
<mgt-agenda></mgt-agenda>

Running the samples

Some of our samples are coupled to use the locally built mgt packages instead of the published version from npm. Because of this, it's helpful to build the monorepo before attempting to run any of the samples.

# Starting at the root
yarn
yarn build
# Now you can run the React sample using the local packages
cd ./samples/react-app/
yarn start

This also means that running the samples in isolation may fail if there are breaking changes between the published version of mgt and the local copy. To workaround this, use samples that are known to be compatible with a specific release by checking out the appropriate branch or tag first.

Contribute

We enthusiastically welcome contributions and feedback. Please read our wiki and the contributing guide before you begin.

Code Contribution Challenge

There are many exciting new features or interesting bugs that have been left behind because our team is small with limited capacity. We would love your help! We have tagged these issues with 'help wanted' and/or 'good first issue'. If you see anything you would like to contribute to, you can reach out to [email protected] or reply to the issue for help or further discussion.

Feedback and Requests

For general questions and support, please use Stack Overflow where questions should be tagged with microsoft-graph-toolkit

Please use GitHub Issues for bug reports and feature requests. We highly recommend you browse existing issues before opening new issues.

License

All files in this GitHub repository are subject to the MIT license. This project also references fonts and icons from a CDN, which are subject to a separate asset license.

Code of Conduct

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

More Repositories

1

powershell-intune-samples

This repository of PowerShell sample scripts show how to access Intune service resources. They demonstrate this by making HTTPS RESTful API requests to the Microsoft Graph API from PowerShell.
PowerShell
1,341
star
2

microsoft-graph-docs

Documentation for the Microsoft Graph REST API
PowerShell
1,212
star
3

msgraph-sdk-powershell

Powershell SDK for Microsoft Graph
C#
691
star
4

msgraph-sdk-dotnet

Microsoft Graph Client Library for .NET!
C#
688
star
5

msgraph-sdk-javascript

Microsoft Graph client library for JavaScript
TypeScript
664
star
6

msgraph-sdk-php

Microsoft Graph Library for PHP.
PHP
569
star
7

msgraph-sdk-java

Microsoft Graph SDK for Java
Java
374
star
8

msgraph-sdk-python

Python
364
star
9

msgraph-sdk-python-core

Microsoft Graph client library for Python
Python
261
star
10

microsoftgraph-postman-collections

253
star
11

msgraph-sdk-go

Microsoft Graph SDK for Go
Go
235
star
12

microsoft-graph-explorer-v4

React/Redux version of Graph Explorer used to learn the Microsoft Graph Api
TypeScript
212
star
13

security-api-solutions

Microsoft Graph Security API applications and services.
Jupyter Notebook
208
star
14

microsoft-graph-comms-samples

Microsoft Graph Communications Samples
208
star
15

aspnet-snippets-sample

A repository of code snippets that use Microsoft Graph to perform common tasks such as sending email, managing groups, and other activities from an ASP.NET Core MVC app. This sample uses the Microsoft Graph .NET Client Library to work with data, and the Microsoft Identity Web Library for authentication on the Microsoft identity platform v2.0 endpoint.
C#
177
star
16

msgraph-sample-nodeexpressapp

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from Node.js Express apps.
JavaScript
167
star
17

msgraph-sdk-dotnet-core

The core Microsoft Graph client library for .Net. (Microsoft.Graph.Core)
C#
150
star
18

msgraph-sample-phpapp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from PHP web apps.
PHP
147
star
19

nodejs-webhooks-sample

Create Microsoft Graph webhook subscriptions for a Node.js app, so that it can receive notifications of changes in a user’s Microsoft account data.
JavaScript
139
star
20

python-sample-auth

Please see https://github.com/microsoftgraph/msgraph-training-pythondjangoapp for a Python sample.
Python
136
star
21

microsoft-graph-explorer

We've moved! You can contribute to our new repository here
TypeScript
136
star
22

msgraph-sample-pythondjangoapp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from Python web apps.
Python
130
star
23

msgraph-sample-reactspa

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from React browser apps.
TypeScript
125
star
24

aspnetcore-connect-sample

[ARCHIVED] This ASP.NET Core MVC sample shows how to connect to Microsoft Graph using delegated permissions and the Azure AD v2.0 (MSAL) endpoint.
C#
123
star
25

aspnetcore-webhooks-sample

This sample shows how to subscribe for Microsoft Graph webhooks using application (app-only) permissions and the Azure AD endpoint.
C#
122
star
26

msgraph-training-dotnet

Microsoft Graph Training Module - Build .NET apps with Microsoft Graph
C#
117
star
27

msgraph-typescript-typings

Microsoft Graph TypeScript Type Definitions
PowerShell
117
star
28

csharp-teams-sample-graph

[ARCHIVED] Sample apps (C# and node) for accessing Microsoft Teams data via the Microsoft Graph
JavaScript
115
star
29

python3-connect-rest-sample

[ARCHIVED] This sample shows how to connect your Python web app to Office 365 using Microsoft Graph to send an email.
Python
106
star
30

msgraph-sdk-ruby

Microsoft Graph Ruby client library for v1 APIs
Ruby
103
star
31

nodejs-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within a Node.js web application. This sample sends REST calls directly to the Microsoft Graph endpoint, and authenticates with the Azure AD v2.0 endpoint to support Microsoft Accounts and work or school accounts.
JavaScript
100
star
32

msgraph-metadata

Microsoft Graph metadata captured and used for generating client library code files.
XSLT
100
star
33

group-membership-management

Group Membership Management (GMM) is a service that dynamically manages the membership of AAD Groups. Groups managed by GMM can have their membership defined using existing AAD Groups and/or custom membership sources.
C#
97
star
34

msgraph-training-aspnetmvcapp

Microsoft Graph Training Module - Build MVC apps with Microsoft Graph
96
star
35

msgraph-cli

CLI tool for Microsoft Graph based on .NET
C#
94
star
36

msgraph-beta-sdk-dotnet

The Microsoft Graph Client Beta Library for .NET supports the Microsoft Graph /beta endpoint. (preview)
C#
92
star
37

dotnetcore-console-sample

.Net Core console application for calling Microsoft Graph. Sample built from scratch.
C#
89
star
38

MSGraph-SDK-Code-Generator

MSGraph SDK Code Generator
C#
88
star
39

microsoft-graph-devx-api

Services API for Graph Explorer
C#
88
star
40

msgraph-sample-rubyrailsapp

This sample demonstrates how to use the Microsoft Graph REST API to access data in Office 365 from Ruby on Rails apps.
Ruby
88
star
41

30DaysMSGraph-TryItOut

This repo contains the Try It Out samples from the 30 Days of Microsoft Graph blog series (https://aka.ms/30DaysMSGraph).
C#
79
star
42

python-security-rest-sample

This sample shows how to connect your Python web app to the Security API using Microsoft Graph.
HTML
79
star
43

php-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within a php web application. This sample gets OAuth tokens from the Azure AD v2.0 endpoint and uses REST calls directly to Microsoft Graph.
PHP
78
star
44

msgraph-sdk-dotnet-auth

Archived - use the TokenCredential classes provided by Azure.Identity. https://docs.microsoft.com/en-us/dotnet/api/overview/azure/identity-readme
C#
78
star
45

graphql-demo

[ARCHIVED] GraphQL for Microsoft Graph
JavaScript
77
star
46

msgraph-sdk-design

Requirements and design documents for Microsoft Graph SDKs
SCSS
74
star
47

msgraph-sample-aspnet-core

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from ASP.NET Core apps.
C#
67
star
48

python-sample-console-app

Please see https://github.com/microsoftgraph/msgraph-training-pythondjangoapp for a Python sample.
Python
66
star
49

contoso-airlines-teams-sample

JavaScript
65
star
50

aspnet-connect-rest-sample

[ARCHIVED] This ASP.NET MVC sample shows how to connect to Microsoft Graph and use the API to send an email.
C#
63
star
51

entra-powershell

Microsoft Entra PowerShell
PowerShell
63
star
52

msgraph-sample-angularspa

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from Angular single-page applications.
TypeScript
63
star
53

msgraph-training-python

Completed project for Build Python apps with Microsoft Graph
Python
61
star
54

aspnet-security-api-sample

This sample shows how to connect your ASP .Net web app to the Security API using Microsoft Graph SDK.
JavaScript
59
star
55

msgraph-community-samples

Repo for community contributed samples
56
star
56

msgraph-training-java

Microsoft Graph Training Module - Build Java apps with Microsoft Graph
Java
55
star
57

dataconnect-solutions

Microsoft Graph Data Connect enables scaled access to Microsoft 365 data with fine grained consent model, integrated with compliance and governance, to enable analytics and big data applications on the largest productivity platform.
Jupyter Notebook
54
star
58

aspnet-connect-sample

[ARCHIVED] This walkthrough shows you how to use the Office 365 Connected Services in Visual Studio 2017.
C#
54
star
59

msgraph-sdk-java-core

Microsoft Graph SDK for Java - Core Library
Java
53
star
60

msgraph-training-changenotifications

52
star
61

php-connect-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within a PHP web application. This sample gets OAuth tokens from the Azure AD v2.0 endpoint and connects it to the Microsoft Graph SDK for PHP.
PHP
52
star
62

msgraph-sdk-android

Microsoft Graph SDK for Android! https://graph.microsoft.io
Java
51
star
63

microsoft-graph-docs-contrib

Documentation for the Microsoft Graph REST API
PowerShell
50
star
64

msgraph-training-authentication

[ARCHIVED] Microsoft Graph Training Module - Authentication
49
star
65

angular-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account data from within an AngularJS web application. This sample uses REST calls directly to the Microsoft Graph endpoint and authenticates users with Microsoft Accounts or work or school Office 365 accounts.
JavaScript
48
star
66

msgraph-sample-azurefunction-csharp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from Azure Functions.
C#
47
star
67

nodejs-apponlytoken-rest-sample

[ARCHIVED] This sample shows how to connect a service or daemon app (written in Node.js) to the Microsoft Graph API.
JavaScript
47
star
68

msgraph-cli-archived

The Microsoft Graph CLI repository has moved. This repository is now an archive.
Python
44
star
69

msgraph-sample-react-native

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from React Native mobile apps.
TypeScript
44
star
70

aspnet-webhooks-rest-sample

Webhooks in Microsoft Graph notify your web application about changes in user data. You can create a webhook subscription to get notified about changes in user's data. This sample uses the Azure AD endpoint to obtain an access token for work or school accounts.
JavaScript
42
star
71

msgraph-search-connector-sample

This .NET Core application shows how to use the Microsoft Graph indexing API to create a connection to the Microsoft Search service and index custom items.
C#
41
star
72

java-spring-webhooks-sample

Receive change notifications with data with the Microsoft Graph
Java
39
star
73

msgraph-bicep-types

Repo contains Microsoft Graph resource types to integrate with bicep templates.
TypeScript
39
star
74

xamarin-csharp-propertymanager-sample

[ARCHIVED] Demonstrates how to use the Microsoft Graph as the only back-end component for a complete property management solution.
C#
38
star
75

msgraph-sample-android

This sample demonstrates how to use the Microsoft Graph Java SDK to access data in Office 365 from native mobile Android applications.
Java
38
star
76

msgraph-sdk-objc

Microsoft Graph SDK for Objective-C
Objective-C
37
star
77

console-csharp-connect-sample

[ARCHIVED] This sample shows how to connect a Windows console application to a Microsoft work or school (Azure Active Directory) or personal (Microsoft) account using the Microsoft Graph API to send an email.
C#
36
star
78

msgraph-sample-spfx

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from SharePoint Framework (SPFX) applications.
JavaScript
35
star
79

angular2-connect-rest-sample

[ARCHIVED] To see a current sample that demonstrates the concepts explained here, visit https://github.com/microsoftgraph/angular4-connect-sample
TypeScript
35
star
80

msgraph-sdk-java-auth

Authentication Providers for Microsoft Graph Java SDK
Java
34
star
81

ruby-connect-rest-sample

[ARCHIVED] Use Microsoft Graph to access a user’s Microsoft account resources from within a Ruby on Rails web application. This sample uses REST calls directly to Microsoft Graph, and uses the Azure AD v2.0 endpoint for authentication of users' work or school Office 365 accounts.
Ruby
33
star
82

meetings-capture-sample

A Microsoft Teams solution that helps teams capture meeting minute notes inside individual channels
HTML
33
star
83

msgraph-sample-blazor-clientside

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from Blazor WebAssembly apps.
HTML
32
star
84

msgraph-sdk-dotnet-contrib

Community contributed extensions to the Microsoft Graph .NET SDK service library, to support APIs that have not yet made it into Microsoft Graph
C#
32
star
85

msgraph-sample-maui

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from .NET MAUI apps.
C#
31
star
86

msgraph-sample-uwp

This sample demonstrates how to use the Microsoft Graph .NET SDK to access data in Office 365 from UWP apps.
C#
30
star
87

msgraph-samples-dashboard

Dashboard for msgraph samples
C#
30
star
88

contoso-airlines-azure-functions-sample

[ARCHIVED]
C#
29
star
89

botframework-csharp-excelbot-rest-sample

[ARCHIVED] Excel Bot is a bot built with the Microsoft Bot Framework that demonstrates how to use Excel with the Microsoft Graph API
C#
29
star
90

msgraph-training-building-apps

[ARCHIVED] Microsoft Graph Training Module - Building Apps
28
star
91

uwp-csharp-connect-sample

[ARCHIVED] This sample shows how to connect your Windows 10 Universal app to Office 365 using the Microsoft Graph .NET client library to send an email.
C#
28
star
92

msgraph-beta-sdk-python

Python
27
star
93

msgraph-training-powerautomate

Microsoft Graph Training Module - Create a Microsoft Graph JSON Batch Custom Connector for Microsoft Power Automate & Azure Logic Apps
26
star
94

python-sample-send-mail

[ARCHIVED] send email from Python via Microsoft Graph
Python
26
star
95

uwp-csharp-snippets-sample

[ARCHIVED] This sample shows how to use the Microsoft Graph SDK to send email, manage groups, and perform other activities with Office 365 data.
C#
25
star
96

msgraph-sdk-ios

[ARCHIVED] Microsoft Graph SDK for iOS
Objective-C
24
star
97

msgraph-training-dataconnect

24
star
98

react-officeuifabric-sample

[ARCHIVED] This sample demonstrates how to populate Office UI Fabric React components with data retrieved from Microsoft Graph.
JavaScript
24
star
99

msgraph-beta-sdk-java

Microsoft Graph Beta Java SDK
Java
24
star
100

msgraph-sample-javascriptspa

This sample demonstrates how to use the Microsoft Graph JavaScript SDK to access data in Office 365 from JavaScript browser apps.
JavaScript
24
star