相关疑难解决方法(0)

将jwt作为GET请求的查询参数放入url是否安全?

将jwt(json web令牌)作为GET请求的查询参数放入url是否安全?

security http jwt

53
推荐指数
2
解决办法
3万
查看次数

如何从一个域重定向到另一个域并为另一个域设置 cookie 或标头?

我正在使用 FastAPIRedirectResponse并尝试将用户从一个应用程序(域)重定向到另一个应用程序(域),并在 ; 中设置一些responsecookie 然而,cookie 总是被删除/不被传输。如果我尝试添加一些标头,我添加到的所有标头RedirectResponse也不会传输。

@router.post("/callback")
async def sso_callback(request: Request):
   jwt_token = generate_token(request)
   redirect_response = RedirectResponse(url="http://192.168.10.1/app/callback", 
                             status_code=303)
   redirect_response.set_cookie(key="accessToken", value=jwt_token, httponly=True)
   redirect_response.headers["Authorization"] = str(jwt_token)
   return redirect_response
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个问题?先谢谢您的帮助。

python cookies redirect cross-domain fastapi

10
推荐指数
1
解决办法
8893
查看次数

URI 中的 JWT 是不好的做法吗?

我有一个存储在 Redis 中的令牌 (JWT) 后备列表,并希望让我网站的用户能够以 RESTful 方式将他们的令牌列入黑名单。

我可以:

  1. /sessions/<token>使用 DELETE 方法构建路由
  2. /sessions/使用 DELETE 方法和请求正文中发送的令牌构建路由。

第一个解决方案很简单,但令牌存储在服务器的日志和用户浏览器的历史记录中。

第二种解决方案似乎更好,但我不确定发送带有正文的 DELETE 请求是否违反了 HTTP RFC 的幂等性原则。

在这种情况下,最佳做法是什么?

http jwt

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

如何将 API Gateway 的 AWS 签名 v4 预签名链接中的过期时间从默认 5 分钟增加?

我正在尝试生成指向 API 网关(使用 IAM 身份验证)的预签名链接,因此客户端可以访问我在此 API 网关后面的 Lambda 函数之一,而无需对请求进行身份验证。这主要是为了方便客户端,因此它可能会透明地使用响应中的一些链接,无论它们指向同一个经过身份验证的 API 网关、某个 S3 存储桶还是 Internet 中的任意 URL。

为此,我使用查询参数制作 API 签名 v4(请参阅文档示例

因此,如果我尝试签署以下针对us-west-2区域和execute-api服务范围的链接:

https://example.com/some/path?some=params
Run Code Online (Sandbox Code Playgroud)

我将得到以下结果(使用 Node.jsaws4,但在这里无关紧要):

https://example.com/some/path?some=params&
X-Amz-Security-Token=<Session Token Removed>
X-Amz-Date=20210330T180303Z&
X-Amz-Algorithm=AWS4-HMAC-SHA256&
X-Amz-Credential=<Access Key Removed>%2F20210330%2Fus-west-2%2Fexecute-api%2Faws4_request&
X-Amz-SignedHeaders=host&
X-Amz-Signature=884f132ad6f0c7a850e6b1d22b5fed169c13e2189b6e0d0d568d11f967f4a8bd
Run Code Online (Sandbox Code Playgroud)

它有效!但只有在一代后的前 5 分钟......

五分钟过去后,我将收到以下错误响应:

https://example.com/some/path?some=params
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅对此问题的回复

我尝试X-Amz-Expires使用各种值(小于和大于 300 秒)添加文档中提到的查询参数,但没有运气:行为不会改变。

对于由 IAM 实例凭证生成的链接,我至少需要几个小时,最多需要6 个小时,因为链接正在由另一个 Lambda 函数签名。

有没有办法增加 API Gateway 访问的预签名链接有效期?

amazon-web-services pre-signed-url aws-api-gateway sigv4

2
推荐指数
1
解决办法
448
查看次数