Wir unterstützen als Client Authentifizeriung die Private Key JWT-Methode. D.h. damit du die Public API von Micromate aufrufen kannst, musst du ein JWT erstellen und dieses mit dem Schlüssel welchen du von uns erhalten hast signieren.
Falls du noch keinen Schlüssel erhalten hast, melde dich auf hello@micromate.ai.
Zum signieren des JWT verwendest du am besten eine bestehende Bibliothek:
Technologie | Library |
---|---|
NodeJS | |
PHP |
Beispiel NodeJS
Folgend eine Beispielimplementation in Typescript verwendet in einer NodeJS-Umgebung:
import * as jsonwebtoken from 'jsonwebtoken'; import fs from "fs"; import {JWTPrivateKey} from "./JWTPrivateKey"; export interface JWTPrivateKey { type: string, keyId: string, key: string, userId: string } public static createSignedJWT(): string { // Read the private key const rawPrivateKey = fs.readFileSync('./privateKey.json', 'utf8'); const privateKey = JSON.parse(rawPrivateKey) as JWTPrivateKey; // Valid from now minus 10 seconds const validFrom: number = Math.floor(Date.now() / 1000) - 10; // Expiration 1 hour after now const expiration: number = Math.floor(Date.now() / 1000) + (60 * 60); // Create a JWT token const jwtToSign = { iss: privateKey.userId, sub: privateKey.userId, aud: 'https://micromate-q4ee42.zitadel.cloud', iat: validFrom, exp: expiration }; // Sign and return the token return jsonwebtoken.sign(jwtToSign, privateKey.key, {algorithm: 'RS256', keyid: privateKey.keyId}); }