确保在服务器端配置用于授权的策略和角色。
在Startup.cs中添加以下代码来配置身份验证。
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(options =>
{
options.Authority = "https://{your-identity-server}/";
options.Audience = "{your-audience}";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://{your-identity-server}/",
ValidateAudience = true,
ValidAudience = "{your-audience}",
ValidateLifetime = true
};
});
@attribute [Authorize(Roles = "Admin")]
using System.Net.Http;
using System.Net.Http.Headers;
public async Task> GetMyData()
{
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", "access_token");
var response = await httpClient.GetAsync("https://{your-api}/api/mydata");
response.EnsureSuccessStatusCode();
return await response.Content.ReadFromJsonAsync>();
}