要获取当前应用的令牌,可以使用Adal.NET库提供的ConfidentialClientApplication
类。下面是一个示例代码,演示如何使用Adal.NET获取当前应用的令牌:
using System;
using Microsoft.IdentityModel.Clients.ActiveDirectory;
class Program
{
static void Main(string[] args)
{
string clientId = "";
string clientSecret = "";
string authority = "https://login.microsoftonline.com/";
// 创建ConfidentialClientApplication实例
var app = new ConfidentialClientApplication(clientId, authority, clientSecret, new TokenCache(), null);
// 定义要请求的资源(例如,Microsoft Graph API)
string resource = "https://graph.microsoft.com";
try
{
// 请求令牌
var result = app.AcquireTokenForClientAsync(new[] { resource }).Result;
// 打印令牌
Console.WriteLine("Access Token: " + result.AccessToken);
}
catch (Exception ex)
{
Console.WriteLine("获取令牌时出错:" + ex.Message);
}
}
}
请注意,上述示例中的
,
和
分别代表应用程序的客户端ID,客户端密钥和租户ID。您需要替换这些值为自己应用程序的相关信息。
在代码中,我们首先创建了一个ConfidentialClientApplication
实例,该实例使用应用程序的客户端ID,客户端密钥和租户ID初始化。然后,我们定义要请求的资源(在示例中为Microsoft Graph API)。最后,我们使用AcquireTokenForClientAsync
方法请求令牌,并打印出所获得的访问令牌。
请注意,这只是一个简单的示例,实际应用程序可能需要更多的错误处理和配置。