这几天在研究Microsoft.AspNetCore.Authentication.JwtBearer,microsoft-authentication-library-for-dotnet,msgraph-sdk-dotnet,微软这3个库,与asp.net core 2.0 web api程序的集成。
在Startup类中
AddJwtBearer(options =>
{
options.MetadataAddress = string.Format(AadInstance, Tenant, SignInPolicyId);
options.Audience = ClientId;
options.TokenValidationParameters = new TokenValidationParameters { SaveSigninToken = true, ValidateIssuer = false };
});
如上代码,关键在于options.TokenValidationParameters = new TokenValidationParameters { SaveSigninToken = true, ValidateIssuer = false };
设置保存访问安全令牌。
然后通过
try
{
var identity = User.Identity as ClaimsIdentity;
var userAccessToken = identity?.BootstrapContext as string;
var userAssertion = new UserAssertion(userAccessToken);
}catch(Exception ex)
{
}
获取访问令牌