在ADAL中,可以使用AuthenticationContext
类的AcquireTokenSilentAsync
方法来获取已缓存的访问令牌并查看资源ID。以下是一个示例代码:
using Microsoft.IdentityModel.Clients.ActiveDirectory;
string authority = "https://login.microsoftonline.com/{tenantId}";
string clientId = "{clientId}";
string resourceId = "{resourceId}";
AuthenticationContext authContext = new AuthenticationContext(authority);
AuthenticationResult result = authContext.AcquireTokenSilentAsync(resourceId, clientId).Result;
Console.WriteLine("Resource ID: " + result.ResourceId);
在上面的示例中,authority
是你的租户ID,clientId
是你的应用程序注册的客户端ID,resourceId
是要查看的资源ID。
AcquireTokenSilentAsync
方法将尝试从缓存中获取访问令牌,如果缓存中不存在或已过期,则会抛出异常。如果成功获取到访问令牌,可以通过result.ResourceId
属性获取资源ID。
请注意,这只适用于已经通过AcquireTokenAsync
方法进行过身份验证并缓存了访问令牌的情况。如果访问令牌未缓存,或者需要进行用户交互进行身份验证,则需要使用AcquireTokenAsync
方法。
上一篇:adal4j-1.6.2.jar 是否支持 Java 11?
下一篇:ADAL到MSAL的迁移(HttpActionContext.ControllerContext.RequestContext.Principal.IsAuthenticated返回false)