Базовая проверка подлинности MS Graph - PullRequest
0 голосов
/ 29 октября 2019

Может кто-нибудь сказать мне, будет ли по-прежнему возможно использовать следующий метод аутентификации с MS Graph после 13 октября 2020 года?

public static async Task<string> GetUserAccessTokenAsync()
{
    String APIToken = "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXX";
    String LoginMail = "xxx@xxx.be";
    String LoginWachtwoord = "xxxxxxxxxxx";

    UserPasswordCredential userPasswordCredential = new UserPasswordCredential(LoginMail, LoginWachtwoord);

    AuthenticationContext authContext = new AuthenticationContext("https://login.microsoftonline.com/diekeure.be");

    //Console App for Microsoft Graph
    AuthenticationResult token = await authContext.AcquireTokenAsync("https://graph.microsoft.com/", APIToken, userPasswordCredential);

    return token.AccessToken;
} /* GetUserAccessTokenAsync */

public static GraphServiceClient GetAuthenticatedClient()
{
    GraphServiceClient graphClient = new GraphServiceClient(
        new DelegateAuthenticationProvider(
            async (requestMessage) => {
                string accessToken = await GetUserAccessTokenAsync();

                        // Append the access token to the request.
                        requestMessage.Headers.Authorization = new AuthenticationHeaderValue("bearer", accessToken);
            }));
    return graphClient;
} /* GetAuthenticatedClient */

-> await graphClient....

Пакет Nuget: Microsoft.IdentityModel.Clients.ActiveDirectory v3.19.8

Я не совсем уверен, что это тоже не сработает

1 Ответ

2 голосов
/ 02 ноября 2019

Ваш образец не использует базовую аутентификацию, он использует грант OAuth Password. Хотя это не очень безопасный механизм аутентификации (так как вам нужно хранить пароль), он сильно отличается от Basic Auth.

Электронная почта, на которую вы ссылались, также относится к устаревшим службам, таким как Exchange Web Services (EWS). Microsoft Graph является , а не устаревшим API, это рекомендуемый / современный REST API для служб Microsoft.

...