Coder Social home page Coder Social logo

sherpasgroup / microsoft-graph-toolkit Goto Github PK

View Code? Open in Web Editor NEW

This project forked from microsoftgraph/microsoft-graph-toolkit

0.0 0.0 0.0 616.51 MB

Authentication Providers and UI components for Microsoft Graph 🦒

Home Page: https://docs.microsoft.com/graph/toolkit/overview

License: Other

JavaScript 16.13% PowerShell 0.04% TypeScript 72.03% CSS 0.35% HTML 0.56% SCSS 10.05% MDX 0.84%

microsoft-graph-toolkit's Introduction


Microsoft Graph Toolkit

UI Components and Authentication Providers for Microsoft Graph

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.

PackagesComponentsProvidersGetting StartedUsing our samplesContributeFeedback & Requests
LicenseCode of Conduct

Packages

Package Latest Next
@microsoft/mgt
@microsoft/mgt-element
@microsoft/mgt-components
@microsoft/mgt-react
@microsoft/mgt-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

To install these packages, use the tag as the version in your npm i command. Ex: npm i @microsoft/mgt-element@next. 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@3/dist/bundle/mgt-loader.js"></script>

NOTE: This link will load the highest available version of @microsoft/mgt in the range >= 3.0.0 < 4.0.0, omitting the @3 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@3/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-components
npm install @microsoft/mgt-msal2-provider

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

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

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

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

Using our samples

We, in collaboration with the community, are providing different samples to help you with different scenarios to leverage the Microsoft Graph Toolkit. Our samples are hosted in another repo and is also fully open-source! Head over to the Microsoft Graph Toolkit Samples Repository and you will find all sorts of samples to get you started quickly!

Contribute

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

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.