Надстройка Office не работает при использовании OAuth 2.0 с PKCE - PullRequest
0 голосов
/ 14 июля 2020

Можно использовать @ azure / msal-browser с веб-страницы, используя как перенаправление, так и всплывающие формы проверки подлинности, но когда веб-страница отображается внутри области задач надстройки Office, он всегда открывает окно браузера по умолчанию вместо того, чтобы оставаться внутри панели задач.

@ azure / msal-browser - это MSAL версии 2.0, которая поддерживает PKCE.

Было опубликовано несколько сообщений и вопросы, касающиеся OAuth с надстройками Office, но все они были в контексте неявного потока, а не PKCE.

Почему OAuth 2.0, PKCE по-прежнему не работают для надстроек Office?

// pseudo-code
import * as msal from '@azure/msal-browser';

(() => {
Office.initialize = () => {

const config: msal.Configuration = {
  auth: {
    clientId: 'fc19440a-334e-471e-af53-a1c1f53c9226',
    authority: 'https://login.microsoftonline.com/5b19b8a0-c013-999a-8ab1-74aff33d287e',
    redirectUri: 'https://websitename.com/singlepageapp.html'
  },
  cache: {
    cacheLocation: 'sessionStorage', 
    storeAuthStateInCookie: false  
  }
};

const publicClientApp = new msal.PublicClientApplication(config);

publicClientApp.handleRedirectCallback(authCallback);

const request: msal.AuthenticationParameters = {
  scopes: ['user.read', 'files.read.all'],
};

// calling
publicClientApp.acquireTokenRedirect(request);

// calling
publicClientApp.loginRedirect(request);
};

// calling
publicClientApp.GetAllAccounts()

})();

Ссылки:

https://github.com/OfficeDev/PnP-OfficeAddins/tree/master/Samples/auth/Office-Add-in-Microsoft-Graph-React

https://docs.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-javascript-auth-code

...