Reveal SDK の Node.js サーバーサイドモジュールにおいて、Authorization Header に任意のスキーマを指定するには、RVHeadersDataSourceCredentials を利用することができます。

実装例:下記コードスニペットの 15 行目を参照ください。

const userContextProvider = (request) => {
  const token = request.headers["x-reveal-token"];
  const userInformation = JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
  console.log("userInformation", userInformation);

  var props = new Map();
  props.set("token", token);
  props.set("roles", userInformation.roles);
  return new reveal.RVUserContext(userInformation.username, props);
};

const authenticationProvider = async (userContext, dataSource) => {
  if (dataSource instanceof reveal.RVRESTDataSource) {
    const token = userContext.properties.get("token");
    return new reveal.RVHeadersDataSourceCredentials("Authorization", `JWT ${token}`);
  }
  return null;
};

const revealOptions = {
  userContextProvider: userContextProvider,
  authenticationProvider: authenticationProvider,
  localFileStoragePath: "data",
};

//add reveal sdk
app.use("/", reveal(revealOptions));

製品について

Reveal