要在ADB2C身份体验框架中使用访问令牌,可以按照以下步骤进行操作:
以下是一个基于C#的代码示例,展示了如何在ADB2C身份体验框架中获取访问令牌并调用受保护的资源API:
using Microsoft.Identity.Client;
// 定义ADB2C应用程序的相关配置
string clientId = "your_client_id";
string tenantId = "your_tenant_id";
string signUpSignInPolicy = "your_sign_up_sign_in_policy";
string[] scopes = new string[] { "your_api_scope" };
// 创建ADB2C身份验证的公共客户端应用程序实例
IPublicClientApplication publicClientApp = PublicClientApplicationBuilder
.Create(clientId)
.WithB2CAuthority($"https://{tenantId}.b2clogin.com/{tenantId}/{signUpSignInPolicy}")
.Build();
// 调用身份验证流程
var authResult = await publicClientApp.AcquireTokenInteractive(scopes)
.ExecuteAsync();
// 获取访问令牌
string accessToken = authResult.AccessToken;
// 使用访问令牌调用受保护的资源API
HttpClient httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
HttpResponseMessage response = await httpClient.GetAsync("https://your-api-endpoint.com/api/resource");
if (response.IsSuccessStatusCode)
{
// 处理API响应
string apiResponse = await response.Content.ReadAsStringAsync();
Console.WriteLine(apiResponse);
}
请注意,以上示例是一个简化的示例,实际中需要根据具体情况进行配置和调整。确保替换示例中的占位符(如your_client_id
、your_tenant_id
、your_sign_up_sign_in_policy
和your_api_scope
)为实际的值。
此外,还需要确保应用程序具有正确的权限和配置,包括正确的API访问策略和权限配置。