标签: cookie-httponly

如何在 django Rest 框架中使用仅 http 的 cookie?

我读到了一些与在本地存储中存储 jwt 令牌相关的问题,这就是我尝试将令牌存储在仅 http cookie 中的原因。我正在使用以下方法。

from rest_framework.views import APIView
from rest_framework.response import Response
import jwt
from django.conf import settings
from rest_framework import status

class LoginView(APIView):
    def post(self, request, format=None):
        email = request.data['email']
        password = request.data['password']

        # dummy user authentication
        if email == 'email' and password == 'password':
            encoded = jwt.encode(
                {'email': email}, settings.SECRET_KEY, algorithm='HS256')

            response = Response()
            response.set_cookie(key='token', value=encoded, httponly=True)
            response.data = {
                'user': email,
            }
            return response
        else:
            return Response({'error': 'wrong credentials'}, status=status.HTTP_401_UNAUTHORIZED)

Run Code Online (Sandbox Code Playgroud)

问题 1:这是使用 django Rest 框架设置 …

python authentication django cookie-httponly django-rest-framework

6
推荐指数
1
解决办法
3722
查看次数

web.config 中的 ASP.NET HttpOnly cookie 不起作用

从我在线阅读的所有内容来看,像这样的 web.config 应该在 ASP.NET 2.0 中启用 HttpOnly cookie。然而,这是行不通的。

<configuration>
<system.web>
    <httpCookies httpOnlyCookies="true" />
</system.web>
...
</configuration>
Run Code Online (Sandbox Code Playgroud)

还有什么我想念的吗?我看过很多关于这个主题的帖子,但 cookie 不会显示为 HttpOnly(或者安全,如果我将 requireSSL="true" 添加到标签中)。

我正在使用 IIS 7.0。

编辑:

我试图在根级别的 web.config 中设置它以覆盖所有 cookie。我正在查看 ASP 页面上 Firebug 中的 cookie,并且应该有绿色文本的“HttpOnly”部分说“HttpOnly”对于其中一些是空的。

例子:

在此处输入图片说明

asp.net cookies httponly cookie-httponly

5
推荐指数
0
解决办法
2万
查看次数

Cookies.get() 未定义

编辑:它的工作/我可以在 httpOnly = false 时获取 cookies 值,为什么?

我使用 js-cookie 包,

当我打开 chrome 开发工具时,有一个 cookie token

但是当我使用Cookies.get('token')时,结果是undefined

并且使用Cookies.get() 的结果也是undefined

这是我的代码:

import Cookies from 'js-cookie'
const [token, setToken] = useState(Cookies.get())
// const [token, setToken] = useState(Cookies.get('token'))

useEffect(() => {
    console.log(token) //undefined

    CheckAuth(token)
                .then(data => {
                    setLoggedInUser(data.user)
                })
                .catch(error => {
                    Cookies.remove('token')
                    setErrorMessage(error.message)
                })
                .finally(() => {
                    setLoading(false)
                })
}, [])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

javascript cookies cookie-httponly reactjs

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

从 Greasemonkey 脚本访问安全 cookie?

无论如何可以从 Greasemonkey 脚本访问安全 cookie?
我编写了使用该document.cookie.split函数的脚本。它返回一个 cookie 列表,但不包括安全 cookie。

cookies firefox greasemonkey firefox-addon cookie-httponly

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

Spring-security - httponlycookie 集成到现有的 jwt 中?

有人告诉我,在使用单独的前端服务时,仅使用 JWT 而不使用 HttpOnly cookie 是不安全的。

正如这里建议的:

http://cryto.net/~joepie91/blog/2016/06/19/stop-using-jwt-for-sessions-part-2-why-your-solution-doesnt-work/

HttpOnly Cookie:https://www.ictshore.com/ict-basics/httponly-cookie/

我目前有一个可用的 JWT 系统,因此我正在尝试升级它以支持 cookie 实现。

我首先将我的 SecurityConfiguration 更改为以下内容:

    private final UserDetailsService uds;
    private final PasswordEncoder bcpe;

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
        auth.userDetailsService(uds).passwordEncoder(bcpe);
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.cors().and().csrf().disable();
        http.addFilter(new CustomAuthenticationFilter(authenticationManagerBean()));
        http.addFilterBefore(new CustomAuthorizationFilter(), UsernamePasswordAuthenticationFilter.class);
        http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
            .and().logout().deleteCookies(CustomAuthorizationFilter.COOKIE_NAME)
            .and().authorizeRequests().antMatchers("/login/**", "/User/refreshToken", "/User/add").permitAll()
            .and().authorizeRequests().antMatchers(GET, "/**").hasAnyAuthority("STUDENT")
            .anyRequest().authenticated();
    }

    @Bean
    @Override
    public AuthenticationManager authenticationManagerBean() throws Exception{ // NO FUCKING IDEA WHAT THIS DOES
        return super.authenticationManagerBean();
    }
Run Code Online (Sandbox Code Playgroud)

从这里我尝试将实际的 cookie 实现插入到我的 …

spring httponly spring-security cookie-httponly

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

浏览器 Cookie 永不过期

我第一次使用 HTTpOnly Cookie 实现登录身份验证就我而言,当用户使用 fastapi 和 uvicorn 在Python 服务中调用登录方法时创建 cookie 。

我已经阅读了MDN文档来实现 expires 属性,因此,浏览器会在时间到期时删除此 cookie。

我已经使用 http.cookies 和Morsel在 Python 中实现了 Cookie,以应用HttpOnly属性,如下所示:

from http import cookies
from fastapi import FastAPI, Response, Cookie, Request
from fastapi.responses import HTMLResponse, FileResponse
from fastapi.staticfiles import StaticFiles
from fastapi.templating import Jinja2Templates

mytoken = 'blablabla'

def getUtcDate():
    sessionDate = datetime.now()
    sessionDate += timedelta(minutes=2)
    return sessionDate.strftime('%a, %d %b %Y %H:%M:%S GMT')

@app.get('cookietest')
def getCookie(response: Response):
   cookie = cookies.Morsel()
   cookie['httponly'] …
Run Code Online (Sandbox Code Playgroud)

cookies python-3.x cookie-httponly fastapi uvicorn

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

如何验证在 FastAPI 中作为 HttpOnly cookie 发送的 JWT?

问题

我正在开发一个 FastAPI 应用程序,该应用程序需要对用户访问的某些端点进行身份验证。我正在使用 FastAPI 中的 Oauth2 和 Jose 为我的身份验证过程创建 JWT。经过一些研究后,确保令牌在前端受到保护的最佳方法似乎是将它们存储在 HttpOnly Cookie 中。我正在努力了解如何通过 HttpOnly Cookie 正确传递 JWT,以便我的 FastAPI 服务器能够验证标头中的 JWT。目前,当我尝试将 JWT 令牌作为 HttpOnly Cookie 传递时,我得到一个401 Unauthorized Error.

我尝试过的

当我将令牌作为模板字符串编码到标头中时,我已经能够使用 JWT 令牌成功地对用户进行身份验证。但是,当我通过标头将 JWT 作为 Cookie 传递到 FastAPI 服务器时,我的 FastAPI 服务器无法对用户进行身份验证并返回401 unauthorized error. 我尝试查看网络选项卡,看看我的请求中向 FastApi 服务器发送了哪些标头,以便更好地了解这两种情况之间的不同之处。

成功示例及代码

当我将 JWT 作为模板字符串传递并获得 200 响应时,这是在标头中:

身份验证:不记名令牌

  async function getPosts() {
    const url = "http://localhost:8000/posts";
    const fetchConfig = {
      headers: {
        Authorization: `Bearer ${tokenValue}`,
      },
    };
    const response = await fetch(url, …
Run Code Online (Sandbox Code Playgroud)

fetch oauth-2.0 jwt cookie-httponly fastapi

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