基本身份验证退休 MS 图

Basic Authentication Retirement MS Graph

谁能告诉我在 2020 年 10 月 13 日之后是否仍然可以使用以下身份验证方法使用 MS Graph?

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

我不确定这也行不通

您的示例未使用基本身份验证,而是使用 OAuth 密码授权。虽然不是非常安全的身份验证机制(因为您必须存储密码),但它与基本身份验证有很大不同。

您引用的电子邮件也特定于 旧版 服务,例如 Exchange Web 服务 (EWS)。 Microsoft Graph 不是 遗留 API,它是 Microsoft 服务的 recommended/modern REST API。