我目前正在为大学团队开发一个网络应用程序,我们使用会话提供程序来管理每个用户的帐户。 我们目前正在使用 inrupt,因为我们也在使用 SOLID POD,因此每个用户都可以存储其个人数据。
问题出现在恢复会话时,我的意思是,当您刷新页面时,您会期望您的帐户仍然处于登录状态。
这是我们的
App.tsx
:
import {SessionProvider} from "@inrupt/solid-ui-react";
import React from 'react';
import './App.css';
import ViewPaths from "./components/ViewPaths";
function App(): JSX.Element {
return (
<SessionProvider session-id="login">
<ViewPaths/>
</SessionProvider>
);
}
ViewPaths 是一个路由组件
我知道解决方案应该很简单,如果只是添加:
restorePreviousSession={true}
到
SessionProvider
元素,但在我添加此元素后,我的应用程序崩溃并返回:
{"error":"invalid_request","error_description":"Mismatching redirect uri"}
所以它并不像任何人期望的那样工作,我尝试过搜索它但一无所获......
有人以前遇到过这个问题或者知道我应该做什么才能修复它并能够存储用户的会话吗?
谢谢!
我尝试将
restorePreviousSession={true}
添加到我们的 SessionProvider
元素中,这样它将存储用户的会话,但它只是崩溃了,我无法在我的应用程序上执行任何操作。
问题解决了!这是版本问题:
“@inrupt/solid-client-authn-browser”:“^1.13.4”,
将其添加到我的 package.json 中效果非常好!