我需要将 AWS congnito 服务用于 jwt 令牌并发布我想使用 Web API 中的过滤器运行我的授权(.Net 4.7.2 --NOT IN .NET CORE--) 谁能建议我们如何获得索赔actionContext.RequestContext.Principal
如果我在我们的启动类中获取 jwt 令牌,则在过滤器中可用。
我正在为 POC 使用以下启动和过滤器类。
获取令牌并验证它并找到声明时的启动类。
public class Startup
{
public void Configuration(IAppBuilder app)
{
var cognitoAuthProvider = new CognitoAuthProvider();
string token = cognitoAuthProvider.GenerateJSONWebToken("gaurav", "gaurav.email@webmail.com");
var claimsPrincipal = cognitoAuthProvider.ValidateToken(token);
}
}
我的身份验证过滤器类
public class AuthorizationFilter : AuthorizationFilterAttribute
{
public override void OnAuthorization(HttpActionContext actionContext)
{
if(actionContext.RequestContext.Principal.Identity.IsAuthenticated)
{
//if token valid
}
}
}
我希望 actionContext 在这一行中包含声明的值actionContext.RequestContext.Principal
任何代码或建议将不胜感激,谢谢