@probot/get-private-key v2.1.0
@probot/get-private-key
Get private key from a file path, environment variables, or a
*.pemfile in the current working directory
Finds a private key through various user-(un)specified methods. Order of precedence:
- Explicit file path option
PRIVATE_KEYenvironment variable or explicitenv.PRIVATE_KEYoption. The private key can optionally be base64 encoded.PRIVATE_KEY_PATHenvironment variable or explicitenv.PRIVATE_KEY_PATHoption- Any file w/
.pemextension in current working dir
Supports both PKCS1 (i.e -----BEGIN RSA PRIVATE KEY-----) and PKCS8 (i.e -----BEGIN PRIVATE KEY-----).
Usage
@probot/get-private-key is not compatible with browser usage
Install with npm install @probot/get-private-key
import { Probot } from "probot";
import { getPrivateKey } from "@probot/get-private-key";!IMPORTANT As we use conditional exports, you will need to adapt your
tsconfig.jsonby setting"moduleResolution": "node16", "module": "node16".See the TypeScript docs on package.json "exports". See this helpful guide on transitioning to ESM from @sindresorhus
const probot = new Probot({
appId: 123,
privateKey: getPrivateKey(),
});Options
Pass a path to a *.pem file. A relative path will be resolved to the current working directory (which you can set with the cwd option)
const privateKey = getPrivateKey({
filepath: "private-key.pem",
});Defaults to process.cwd(). Used to resolve the filepath option and used as folder to find *.pem files.
const privateKey = getPrivateKey({
cwd: "/app/current",
});Defaults to process.env. Pass env.PRIVATE_KEY or env.PRIVATE_KEY_PATH to workaround reading environment variables
const privateKey = getPrivateKey({
env: {
PRIVATE_KEY: "-----BEGIN RSA PRIVATE KEY-----\n...",
},
});LICENSE
5 months ago
5 months ago
5 months ago
1 year ago
1 year ago
1 year ago
2 years ago
4 years ago
5 years ago
5 years ago