【问题标题】:CubeJS initial call to initialize granting of JWTCubeJS 初始调用以初始化 JWT 的授予
【发布时间】:2020-11-17 20:16:17
【问题描述】:

目录结构

|_ jwks.json
|_ 立方体.js
|_ 包.json

魔方docs give config for cube.js:

const fs = require("fs");
const jwt = require("jsonwebtoken");
const jwkToPem = require("jwk-to-pem");
const jwks = JSON.parse(fs.readFileSync("jwks.json"));
const _ = require("lodash");

module.exports = {
  checkAuth: async (req, auth) => {
    const decoded = jwt.decode(auth, { complete: true });
    const jwk = _.find(jwks.keys, x => x.kid === decoded.header.kid);
    const pem = jwkToPem(jwk);
    req.authInfo = jwt.verify(auth, pem);
  },
  contextToAppId: ({ authInfo }) => `APP_${authInfo.userId}`,
  preAggregationsSchema: ({ authInfo }) => "pre_aggregations_${authInfo.userId}"
};

问题:如果这是使用的模型(下图),如何初始化获取令牌的过程。换句话说,客户端如何在 vanilla Javascript 中进行初始调用以使用 /.well_known/jwks.json 启动令牌进程?

【问题讨论】:

    标签: javascript jwt private-key pem


    【解决方案1】:

    Cube.js 不支持创建令牌,因为 Cube.js 是用于分析的微服务。

    你可以生成JWT:

    • 在您的应用程序中
    • 使用身份验证服务(auth0、keycloak 等)

    P.S 支持创建代币,但仅适用于开发模式。

    【讨论】:

      猜你喜欢
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-29
      • 1970-01-01
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      相关资源
      最近更新 更多