Corddéveloppeurs

SDK et iframe

Un bouton d'upload et une visionneuse chiffrés de bout en bout, en quelques lignes. Moins de 3 Ko.

Navigateur : @drivecord/sdk

const dc = Drivecord.init({
  clientId: "app_…",
  redirectUri: location.origin + "/drivecord-callback",
});
await dc.signIn();                       // popup OAuth + PKCE

dc.mountUploader(document.getElementById("up"), {
  onUploaded: ({ fileId, size }) => save(fileId),
});
dc.mountViewer(document.getElementById("view"), { fileId });

const { files } = await dc.api("/files"); // API v2 avec le jeton de l'app

La page de redirection appelle simplement Drivecord.completeSignIn(). Le SDK n'a aucune dépendance, et il est publié avec une empreinte SRI.

Ce qui se passe dans l'iframe

Serveur : @drivecord/node

import { DrivecordNode } from "@drivecord/node";
const dc = new DrivecordNode({ token: process.env.DRIVECORD_TOKEN, driveKey });
const { fileId } = await dc.upload({ name: "rapport.pdf", type: "application/pdf", data });
const file = await dc.download(fileId);   // { name, type, data }

Le même code de chiffrement que l'application web est utilisé, donc les fichiers sont interchangeables.