javascript - 将 typescript 特定语句转换为 javascript
问题描述
我想通过 keycloak 服务器为我的 nextjs 前端进行身份验证。我找到了这个关于如何做到这一点的好例子。不幸的是,该示例是用打字稿编写的,我正在尝试对其进行调整,以便可以在用 javascript 编写的应用程序中使用它。由于我对 TS 了解不多,我不知道如何转换以下两个 TS 语句,以便它们在 JS 中运行:
import type { AppProps, AppContext } from 'next/app'
和
interface InitialProps {cookies: unknown}
因为接口和导入类型不能在 JS 中使用。
我希望有人可以在这里帮助我。干杯
解决方案
在普通的 js/React 中,它会是这样的
import cookie from "cookie";
import { SSRKeycloakProvider, SSRCookies } from "@react-keycloak/ssr";
const keycloakCfg = {
url: "http://localhost:8080/auth",
realm: "Test",
clientId: "react-test",
};
function MyApp({ Component, pageProps, cookies }) {
return (
<SSRKeycloakProvider
keycloakConfig={keycloakCfg}
persistor={SSRCookies(cookies)}
>
<Component {...pageProps} />
</SSRKeycloakProvider>
);
}
function parseCookies(req) {
if (!req || !req.headers) {
return {};
}
return cookie.parse(req.headers.cookie || "");
}
MyApp.getInitialProps = async (context) => {
// Extract cookies from AppContext
return {
cookies: parseCookies(context?.ctx?.req),
};
};
export default MyApp;
推荐阅读
- encryption - 是否有允许检查源是否包含子字符串的加密算法?
- azure - 如何设置我的董事会以与子团队共享工作项目?
- c# - 如何通过 WCF Web 服务为不同用户在远程服务器上创建文件夹并设置读/写文件夹权限?
- c++ - Release 中缺少 DLL,但 Debug 中没有
- python - Python Pandas 中两列值的复杂分析?
- flutter - 在颤振中将字符串日期时间转换为日期时间类型
- google-sheets-api - 过早达到 Google Sheets API 的使用限制
- sql-server - SSIS - 无法解密受保护的 xml 节点“DTS:Property” - 部署到 SQL Server 2019
- r - 如何从 R 中使用 toastui 构建的日历中删除日期
- sql - 在 SQL 中为日历月和年组合创建排名和顺序