React component for easy OAuth with Microsoft services on client side.

Usage no npm install needed!

<script type="module">
  import reactMicrosoftLoginSsrFix from '';


react-microsoft-login npm version npm bundle size dependency status for GitHub repo

React component for a simple login with Microsoft services, based on Official Microsoft Authentication Library for JavaScript.



🚀 Get started

  1. Install package:

    yarn add react-microsoft-login
  2. Import and configure component:

    import React from "react";
    import MicrosoftLogin from "react-microsoft-login";
    export default props => {
      const authHandler = (err, data) => {
        console.log(err, data);
      return (
        <MicrosoftLogin clientId={YOUR_CLIENT_ID} authCallback={authHandler} />
  3. YOUR_CLIENT_ID is the key which you need to generate for your Microsoft app. How to create Microsoft app? When finished, on the app Overview page, note down the Application (client) ID value.


Parameter Type Default Description
clientId string required Application (client) ID
authCallback function required Callback function which takes two arguments (error, authData)
graphScopes array [""] Array of Graph API permission names. More about Graph API permissions.
tenantUrl string "" A URL indicating a directory that MSAL can request tokens from. More about MSAL tenant auth.
redirectUri string window.location.href The redirect URI of the application, this should be same as the value in the application registration portal.
buttonTheme string "light" Name of theme for button style. Themes: "light" "light_short" "dark" "dark_short". Styles come from Official Microsoft brand design.
withUserData boolean false Boolean flag to make an additional request to GraphAPI to get user data.
forceRedirectStrategy boolean false Boolean flag to force redirect login strategy for all browsers. This strategy used by default just for IE browsers to avoid issues.
debug boolean false Boolean flag to enable detailed logs of authorization process.
className string "" Additional class name string.
children ReactComponent null Alternative way to provide custom button element as a children prop instead of Official Microsoft brand design