0

我需要将 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

任何代码或建议将不胜感激,谢谢

4

0 回答 0