Как я могу автоматически зарегистрировать пользователя в веб-части Sharepoint? - PullRequest
0 голосов
/ 23 марта 2020

enter image description here

У меня есть сайт "Play web". Когда я хочу получить доступ к этому сайту, я должен предварительно войти в систему с user / pass. Модуль аутентификации обрабатывает эту информацию и запускает связь с Azure AD. Если пользователь правильно подтвержден с помощью обратного вызова, элемент управления возвращается в Play Web с зарегистрированным пользователем. Все эти шаги отлично работают.

Где проблема ?. Один из наших клиентов хочет встроить эту «Play web» в свою Sharepoint, но не хочет, чтобы ее повторно регистрировали Ему нужно использовать контекст Sharepoint для автоматической авторизации пользователя на веб-сайте.

Есть ли способ сделать это ?, Должен ли я что-то настроить в Azure AD: прокси, функция?

Я застрял с этим.

С уважением

1 Ответ

0 голосов
/ 27 марта 2020

Я решил проблему с помощью библиотеки Msal:

import {UserAgentApplication} from "msal";

const config = {
auth: {
clientId: "client-id",
 authority: "https://login.microsoftonline.com/tenant-id"
 }
};

const myMSALObj = new UserAgentApplication(config);

let accessTokenRequest = {
scopes: ["user.read"],
 loginHint: this.context.pageContext.user.loginName,
 extraQueryParameters: {domain_hint: 'organizations'}    
}     

myMSALObj.acquireTokenSilent(accessTokenRequest).then(
function(accessTokenResponse) {
// Acquire token silent success
 // call API with token
 let accessToken = accessTokenResponse.accessToken;
 let scopes = accessTokenResponse.scopes;
 }).catch(function (error) {
//Acquire token silent failure, and send an interactive request
 console.log(error);
 if (error.errorMessage.indexOf("interaction_required") !== -1) {
myMSALObj.acquireTokenRedirect(accessTokenRequest);
  }
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...