Naima B. 판매

Authentik is a self-hosted Identity Provider supporting SAML, OAuth2/OIDC, LDAP, and RADIUS, with a full-featured admin UI, flow engine, and enterprise-grade SSO for teams of any size.
This block provides the full authentik Identity Provider source, including the TypeScript API client (packages/client-ts) that wraps every authentik REST endpoint: Admin, Core, Flows, Stages, Sources, Providers, RBAC, and more. It is aimed at backend engineers and full-stack developers who need to programmatically manage an authentik instance — creating flows, enrolling authenticators, querying users — from a Node.js or TypeScript service.
.cargo/ — Rust toolchain configuration for authentik's Go/Rust outpost binaries (not needed for TS usage).github/ — CI/CD workflows, issue templates, and GitHub Actions (reference only).vscode/ — Editor settings and recommended extensionsauthentik/ — Core Python/Django application: models, flows, stages, policies, sourcesblueprints/ — YAML blueprint definitions for declarative authentik configurationcmd/ — Go entry-points for outpost binariesinternal/ — Internal Go/Rust libraries for outpost serviceslifecycle/ — Container lifecycle scripts (healthchecks, migrations)locale/ — i18n translation filespackages/ — Node.js packages: client-ts (TypeScript REST client), docusaurus-config, esbuild-plugin-live-reload, and moreschemas/ — OpenAPI and JSON Schema definitions that generate client-tsscripts/ — Developer utility scriptsweb/ — Lit-based frontend (admin UI and flow executor)manage.py — Django management entry-pointpyproject.toml — Python project and dependency configurationCargo.toml — Rust workspace manifesttsconfig.json — Root TypeScript configurationpackage.json — Root npm workspace configurationnpm install @goauthentik/authentik@2026.5.0-rc1
# The generated client-ts package is what you will import from.
# If consuming source/packages/client-ts directly, install its peer deps:
npm install node-fetch cross-fetch
npm install typescript --save-dev
No native build steps, pod installs, or binary compilation are required for TypeScript/Node.js usage of . The Rust and Go components in and are only needed if running outpost services.
격리된 샌드박스를 띄워 서버에서 바로 실행하세요 — 로컬 설정 불필요.
이 버전에 대한 Tetrees AI Review
This TypeScript, Python, Rust, JavaScript cli / script completed archive review with strong static results. Structure, dependency manifests, documentation, functional source, and common risk patterns were checked by the Tetrees verification pipeline; runtime phases are stated separately.
Deterministic AVCP artifact review
파이프라인 avcp-2026-08-04.1 · SHA-256 0b561f011ed6a055…
This version-scoped review deterministically inspects the submitted archive for structure, dependencies, documentation, functional source, and common malicious or high-risk signals. Build and test phases are reported as passed only after an isolated sandbox audition. It is not a guarantee of perfect security.
검토일 2026년 8월 4일
이 제품을 AI IDE, 웹 빌더 또는 클라우드 IDE로 바로 가져오세요.
Tetrees를 호환 AI IDE에 연결해 보유 제품을 불러오고, 판매자 업로드 권한을 노출하지 않은 채 검증된 ZIP을 받으세요.
아직 리뷰가 없습니다.
토론을 불러오는 중…
packages/client-tscmd/internal/Copy the source/ directory into your project root, or symlink source/packages/client-ts as a local package.
Add the local package to your package.json:
{
"dependencies": {
"@goauthentik/client-ts": "file:./source/packages/client-ts"
}
}
Extend the root tsconfig.json from source/:
{
"extends": "./source/tsconfig.json",
"compilerOptions": {
"rootDir": "src",
"outDir": "dist"
},
"include": ["src"]
}
Set required environment variables in your .env:
AUTHENTIK_BASE_URL=https://authentik.example.com
AUTHENTIK_API_TOKEN=your-api-token-here
Run npm install from the project root to resolve the workspace symlink.
Build with tsc or your existing bundler — no additional compilation of the authentik source is needed for the TS client.
import { Configuration } from "@goauthentik/client-ts";
const config = new Configuration({
basePath: process.env.AUTHENTIK_BASE_URL,
headers: { Authorization: `Bearer ${process.env.AUTHENTIK_API_TOKEN}` },
});
Configuration is the root object passed to every API class. It holds the basePath, default headers (including the Authorization: Bearer token), and optional fetch overrides. Construct one instance and share it across all API clients in your service.
import { StagesApi, Configuration } from "@goauthentik/client-ts";
const stages = new StagesApi(config);
const list = await stages.stagesAllList({});
StagesApi exposes CRUD and list operations for every stage type (email, TOTP, password, identification, user write, etc.). Use it when you need to programmatically create enrollment flows or audit existing stage configurations.
import { CoreApi, Configuration } from "@goauthentik/client-ts";
const core = new CoreApi(config);
const user = await core.coreUsersRetrieve({ id: 42 });
const groups = await core.coreGroupsList({});
CoreApi covers users, groups, tokens, application entitlements, and authenticated sessions. It is the primary API for user lifecycle management — create, update, deactivate users, and manage group membership.
import { FlowsApi, Configuration } from "@goauthentik/client-ts";
const flows = new FlowsApi(config);
const allFlows = await flows.flowsInstancesList({});
const diagram = await flows.flowsInstancesDiagramRetrieve({ slug: "default-enrollment" });
FlowsApi lets you list, create, and inspect flows and their bound stages. Use flowsInstancesDiagramRetrieve to visualize a flow's stage graph for debugging or documentation generation.
Retrieve every stage bound to any flow in the authentik instance and log their names and types.
import { Configuration, StagesApi } from "@goauthentik/client-ts";
const config = new Configuration({
basePath: process.env.AUTHENTIK_BASE_URL ?? "https://authentik.example.com",
headers: { Authorization: `Bearer ${process.env.AUTHENTIK_API_TOKEN}` },
});
async function listAllStages() {
const api = new StagesApi(config);
const result = await api.stagesAllList({});
for (const stage of result.results) {
console.log(`[${stage.verboseName}] ${stage.name} — pk: ${stage.pk}`);
}
}
listAllStages().catch(console.error);
Provision a user account and assign it to an existing group by pk.
import { Configuration, CoreApi } from "@goauthentik/client-ts";
const config = new Configuration({
basePath: process.env.AUTHENTIK_BASE_URL!,
headers: { Authorization: `Bearer ${process.env.AUTHENTIK_API_TOKEN}` },
});
async function provisionUser(username: string, email: string, groupPk: string) {
const core = new CoreApi(config);
const user = await core.coreUsersCreate({
userRequest: {
username,
email,
name: username,
isActive: true,
groups: [groupPk],
attributes: {},
},
});
console.log(`Created user ${user.username} with pk ${user.pk}`);
return user;
}
provisionUser("jdoe", "jdoe@example.com", "group-uuid-here").catch(console.error);
Fetch the Mermaid diagram of a named flow for documentation or audit purposes.
import { Configuration, FlowsApi } from "@goauthentik/client-ts";
const config = new Configuration({
basePath: process.env.AUTHENTIK_BASE_URL!,
headers: { Authorization: `Bearer ${process.env.AUTHENTIK_API_TOKEN}` },
});
async function printFlowDiagram(slug: string) {
const flows = new FlowsApi(config);
const diagram = await flows.flowsInstancesDiagramRetrieve({ slug });
console.log("Flow diagram (Mermaid):");
console.log(diagram.diagram);
}
printFlowDiagram("default-enrollment-flow").catch(console.error);
.cargo/ — Rust toolchain pins (rust-toolchain.toml) and deny.toml for supply-chain auditing; only relevant when building outpost binaries..github/ — All CI/CD definitions: Docker build reusable workflows, npm publish, CodeQL, Semgrep, and release automation..vscode/ — Workspace extension recommendations for VS Code; safe to ignore or keep.authentik/ — The Django application core: all Python models, signals, API views, flow engine, policy engine, and stage implementations.blueprints/ — Declarative YAML blueprints for bootstrapping authentik with default flows, stages, and scopes.cmd/ — Go main packages for the LDAP, proxy, RADIUS, and SCIM outpost binaries.internal/ — Shared Go/Rust libraries consumed by cmd/.lifecycle/ — Shell scripts executed by Docker entrypoint for migrations, worker startup, and readiness probes.locale/ — PO/MO translation catalogs for the Django backend; Lit frontend translations live under web/.packages/ — npm workspace containing client-ts (the generated TypeScript REST client), docusaurus-config, and esbuild-plugin-live-reload.schemas/ — OpenAPI 3 schema that is the source of truth for client-ts code generation.scripts/ — Utility scripts for code generation, linting, and release tooling.web/ — The Lit Element-based admin and user-facing frontend; built separately from the TS client.manage.py — Standard Django management command entry-point.package.json — npm workspaces root; defines top-level scripts that orchestrate all packages.pyproject.toml — Python dependencies and tooling (Poetry/pip).Cargo.toml — Rust workspace manifest for outpost binary crates.tsconfig.json — Shared TypeScript compiler settings inherited by all packages/.Authorization header causes 401 on every call — Always pass headers: { Authorization: "Bearer <token>" } in Configuration; the client does not read env vars automatically.basePath trailing slash causes double-slash URLs — Do not include a trailing / in AUTHENTIK_BASE_URL; the generated client appends paths starting with /.client-ts — The generated client uses CommonJS; if your project is "type": "module", use a dynamic import() or set "esModuleInterop": true in tsconfig.json.client-ts types are generated from schemas/; if your authentik server version differs from 2026.5.0-rc1, some model fields may be missing or extra — regenerate from the live /api/v3/schema/ endpoint.cross-fetch not found at runtime in Node < 18 — Node 18+ ships native fetch; for older Node versions add npm install cross-fetch and import it before the API client initializes.source/tsconfig.json, verify your bundler (Webpack/esbuild) also has corresponding alias entries; tsconfig paths alone do not affect runtime resolution.I have a copy of the authentik Identity Provider source in `source/` and its
integration guide in `source/USAGE.md`. The upstream npm package is
`@goauthentik/authentik@2026.5.0-rc1`.
The TypeScript REST client lives at `source/packages/client-ts/src/index.ts`
and re-exports everything from `./apis/index` and `./models/index`.
Please integrate this into my existing Node.js/TypeScript project step-by-step:
1. Add `source/packages/client-ts` as a local npm dependency.
2. Create a shared `authentikClient.ts` module that reads AUTHENTIK_BASE_URL
and AUTHENTIK_API_TOKEN from environment variables and exports a configured
instance of Configuration, CoreApi, StagesApi, and FlowsApi.
3. Write a function that lists all users (CoreApi.coreUsersList) and returns
typed results.
4. Write a function that retrieves all flows (FlowsApi.flowsInstancesList).
5. Ensure all imports reference real exports from
`source/packages/client-ts/src/apis/index.ts` and
`source/packages/client-ts/src/models/index.ts` as listed in USAGE.md.
6. Add error handling with typed authentik API error responses.
7. Show me the final tsconfig.json changes needed.
authentik is released under the MIT License for the community edition (see source/LICENSE); enterprise components under authentik/enterprise/ carry a separate commercial license. Refer to source/SECURITY.md for vulnerability disclosure.
Upstream project: goauthentik/authentik — npm package @goauthentik/authentik@2026.5.0-rc1.
This product’s unique contribution is clean room implementation of valuable code block into AVCP compatible standard.
전체 설치 가이드와 연동 프롬프트는 구매 후 열람할 수 있습니다.
Automation, Utilities & Developer Tools
무료