小编Luc*_*caT的帖子

Django、Djoser 社交身份验证:在服务器端会话数据中找不到状态。状态代码 400

我正在使用 django 和 React 实现一个身份验证系统。这两个应用程序分别在端口 8000、3000 上运行。我使用 Djoser 包实现了身份验证系统。该包使用一些依赖项social_core和social_django。一切似乎都配置正常。我点击登录谷歌按钮...我被重定向到谷歌登录页面,然后返回到端口 3000 处的前端 React 应用程序,并在 url 上显示状态代码参数。

此时,我将这些参数发布到后端。后端尝试使用以下代码验证状态检查会话存储中是否存在状态密钥(social_core/backends/oauth.py

def validate_state(self):
        """Validate state value. Raises exception on error, returns state
        value if valid."""
        if not self.STATE_PARAMETER and not self.REDIRECT_STATE:
            return None
        state = self.get_session_state()
        request_state = self.get_request_state()
        if not request_state:
            raise AuthMissingParameter(self, 'state')
        elif not state:
            raise AuthStateMissing(self, 'state')
        elif not constant_time_compare(request_state, state):
            raise AuthStateForbidden(self)
        else:
            return state
Run Code Online (Sandbox Code Playgroud)

此时,由于某些原因,状态会话密钥不存在......并且我收到一条错误,指出在会话数据中找不到状态(错误如下)

{"error":["State could not be found in server-side session data."],"status_code":400} …
Run Code Online (Sandbox Code Playgroud)

django django-socialauth django-rest-framework reactjs djoser

11
推荐指数
1
解决办法
2804
查看次数

React - 在应用程序 src 文件夹中找不到 serviceWorker.js 文件

我对 React 很陌生,我正在遵循不同的教程来尝试了解基础知识。我使用的是react v17。

在这些教程中,我在文件夹结构中看到了一个名为 serviceWorker.js 的文件,该文件用于制作渐进式 Web 应用程序。

我用 npx 生成了我的项目,但在我的文件夹结构中,我找不到这个文件。这是一个错误吗?或者它是被弃用的东西?或者我必须手动添加它?

javascript reactjs

4
推荐指数
1
解决办法
7725
查看次数

React/Redux useEffect 多次触发调度

我在使用 useEffect() 和dispatch() 操作时遇到问题。我正在使用最新版本的react“^18.1.0”。基本上,我有以下在简单的代码中定义的代码。

const Item = () => {

    const dispatch = useDispatch()
    const user = useSelector(state => state.authReducer.user)

    useEffect(() => {
        dispatch(fetchItems()).then(res => console.log(res)).catch(err => console.log(err))
    }, [dispatch])

    return (
        <div id='data-container'>
            <Navbar />
            <div id='data-wrap'>
                Data
            </div>
        </div>
    );
}

export default Item 
Run Code Online (Sandbox Code Playgroud)

fetchItems() 是一个简单的函数,它从 API 获取一些数据。

问题是该操作被调度两次,但我希望该操作仅被调度一次。

任何帮助的人将不胜感激。

谢谢。

reactjs react-redux react-hooks

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