删除用于用户注销的 grafana cookie API
Remove grafana cookie for user logout API
我正在使用 grafana HTTP API 在 grafana 上构建一个前端应用程序。
用户身份验证使用基本的 Auth 模型(默认 grafana 身份验证)。我需要注销 API,这会导致 grafana_session
cookie 过期。
我无法从我的脚本中删除 grafana_session
cookie,因为 httpOnly 标志已打开。你能帮我处理用户注销吗?
我更改的唯一 grafana 配置是以下两个配置:
# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict", "none" and "disabled"
cookie_samesite = none
# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. d$
allow_embedding = true
我找到了解决方案并在此处分享,以帮助有相同问题的人。
正如 Jan 在评论中所说,Cookie 用于 UI 身份验证,并从服务器设置。 HttpOnly
标志使 cookie 在 cross-site 脚本 (XSS) 的风险中是安全的,并且不能从 js 脚本中删除或覆盖。
Grafana 的默认身份验证使用 grafana_session
cookie,这是一个 HttpOnly cookie。因此,如果其他人需要知道我们如何删除用于用户注销的 grafana_session
cookie,您应该只调用 /logout
端点。
axios.get('http://localhost:3000/logout')
它将自动在请求 header 中设置 cookie,这将删除 geafana_session
令牌,用户需要登录才能进行下一个请求。
headers: {
Cookie: 'grafana_session=; Path=/; Max-Age=0; HttpOnly; SameSite=Lax'
}
以下链接帮助我了解了 HttpOnly cookie。可能对其他人有用:
https://whosebug.com/a/1085792/16994002
https://security.stackexchange.com/questions/211356/delete-secure-cookie-using-javascript
我正在使用 grafana HTTP API 在 grafana 上构建一个前端应用程序。
用户身份验证使用基本的 Auth 模型(默认 grafana 身份验证)。我需要注销 API,这会导致 grafana_session
cookie 过期。
我无法从我的脚本中删除 grafana_session
cookie,因为 httpOnly 标志已打开。你能帮我处理用户注销吗?
我更改的唯一 grafana 配置是以下两个配置:
# set cookie SameSite attribute. defaults to `lax`. can be set to "lax", "strict", "none" and "disabled"
cookie_samesite = none
# set to true if you want to allow browsers to render Grafana in a <frame>, <iframe>, <embed> or <object>. d$
allow_embedding = true
我找到了解决方案并在此处分享,以帮助有相同问题的人。
正如 Jan 在评论中所说,Cookie 用于 UI 身份验证,并从服务器设置。 HttpOnly
标志使 cookie 在 cross-site 脚本 (XSS) 的风险中是安全的,并且不能从 js 脚本中删除或覆盖。
Grafana 的默认身份验证使用 grafana_session
cookie,这是一个 HttpOnly cookie。因此,如果其他人需要知道我们如何删除用于用户注销的 grafana_session
cookie,您应该只调用 /logout
端点。
axios.get('http://localhost:3000/logout')
它将自动在请求 header 中设置 cookie,这将删除 geafana_session
令牌,用户需要登录才能进行下一个请求。
headers: {
Cookie: 'grafana_session=; Path=/; Max-Age=0; HttpOnly; SameSite=Lax'
}
以下链接帮助我了解了 HttpOnly cookie。可能对其他人有用:
https://whosebug.com/a/1085792/16994002
https://security.stackexchange.com/questions/211356/delete-secure-cookie-using-javascript