AcquireTokenAsync 方法返回的是一个 AuthenticationResult 对象,其中包含获取的令牌信息。
下面是一个示例代码,展示了如何使用 AcquireTokenAsync 方法获取令牌:
// 引入所需的命名空间
using Microsoft.Identity.Client;
// 定义认证参数
string clientId = "YOUR_CLIENT_ID";
string authority = "https://login.microsoftonline.com/YOUR_TENANT_ID";
string[] scopes = { "User.Read" };
public async Task GetTokenAsync()
{
// 创建一个 PublicClientApplication 对象
IPublicClientApplication app = PublicClientApplicationBuilder
.Create(clientId)
.WithAuthority(authority)
.Build();
AuthenticationResult result = null;
try
{
// 使用 AcquireTokenAsync 方法获取令牌
result = await app.AcquireTokenAsync(scopes);
return result.AccessToken;
}
catch (MsalException ex)
{
// 处理异常
Console.WriteLine($"获取令牌失败: {ex.Message}");
}
return null;
}
在上面的示例中,我们创建了一个 PublicClientApplication 对象,并使用 AcquireTokenAsync 方法来获取令牌。通过访问 AuthenticationResult 对象的 AccessToken 属性,我们可以获取到返回的令牌。如果获取令牌失败,将会抛出 MsalException 异常,可以在 catch 块中进行相应的错误处理。
上一篇:AcquireTokenAsync在1或2小时后过期。
下一篇:AcquireTokenByUsernamePassword抛出了System.AggregateException和MsalServiceException。