小编Wal*_*len的帖子

如何从控制器方法访问令牌数据?

如何访问从客户端传递到我的控制器方法的 jwt 令牌数据?我需要令牌中的 userId,以便通过数据存储库层中的其他方法调用访问有关用户的更多数据。

我已经能够使用硬编码的令牌字符串来完成此操作,但不能使用从客户端传递的令牌来完成此操作。我将如何编写此控制器方法以将 jwt 令牌作为输入...或从此控制器方法中访问令牌字符串,从而检索我正在查找的数据?

我如何实际将令牌传递到我的控制器方法中?

[HttpGet("tokenz")]
        public ApplicationUser ParseToken()
        {
            var stringToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJXaWxsQGdtYWlsLmNvbSIsImp0aSI6IjMxMWM3ZGU5LTcxMDctNGI4MC1hMzViLTA4NjJlYTE1MjZjOCIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL25hbWVpZGVudGlmaWVyIjoiYzE3ZTEyNWItYmE0NC00N2MxLTg2NzUtOTc2ZmJlZDRlMTEyIiwiZXhwIjoxNTc2NDU0NDYxLCJpc3MiOiJodHRwczovL2xvY2FsaG9zdDo1NzA5NiIsImF1ZCI6Imh0dHBzOi8vbG9jYWxob3N0OjU3MDk2In0.VtsMgq7fc17M6y8kKHQRw3vO3M7aSrQgF62gw0-mXWg";

            var handler = new JwtSecurityTokenHandler();

            var tokenS = handler.ReadToken(stringToken) as JwtSecurityToken;

            var tokenSubject = tokenS.Subject;

            var appUser = _unitofWork.User.GetUserFromSubject(tokenSubject);

            return appUser;
        }
Run Code Online (Sandbox Code Playgroud)

这没有起作用:

从操作/控制器层访问 JWT 令牌数据

或这个:

在控制器中检索访问令牌

苏...

Authorize(AuthenticationSchemes = JwtBearerDefaults.AuthenticationScheme)]
        [HttpPost("moretokenz")]
        public JwtSecurityToken MoreToken(string strToken)
        {
            //Where would strToken come from?
            return new JwtSecurityTokenHandler().ReadJwtToken(strToken);
        }
Run Code Online (Sandbox Code Playgroud)

c# identity jwt asp.net-core asp.net-core-webapi

8
推荐指数
1
解决办法
1万
查看次数

将 CloudFront 分配与 Route 53 域关联的问题

我在尝试保护我的 S3 托管网站时遇到问题。我遵循的步骤是:

  1. 我使用 Route 53 创建了一个自定义域,托管在 S3 上。
  2. 创建了 SSL 证书。
  3. 创建了一个 CloudFront 分配并将其设置为使用我的 ssl 证书,并将我的自定义域指定为 CloudFront“备用域名”
  4. 为我的域创建了一个公共托管区域。
  5. 创建了“A”和“AAAA”记录以将我的域链接到我的 CloudFront 分配。

但是,我无法访问我的网站,无论是 HTTPS 还是 HTTP。但是我可以通过CloudFront域名访问网站就好了。只是当我试图通过我的自定义域名访问它时。( example.com)

ssl amazon-s3 amazon-web-services amazon-cloudfront amazon-route53

3
推荐指数
1
解决办法
1023
查看次数