专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

oryd/kratos-selfservice-ui-node Docker 镜像 - 轩辕镜像

kratos-selfservice-ui-node
oryd/kratos-selfservice-ui-node
Ory Kratos的NodeJS/ExpressJS用户界面参考实现,基于Handlebars和NextJS构建,支持登录、注册、账户设置、账户恢复及账户验证等所有Ory Kratos身份认证流程,可作为自定义用户认证界面的基础实现。
2 收藏0 次下载activeoryd镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Ory Kratos NodeJS/ExpressJS 用户界面参考实现

镜像概述和主要用途

本镜像包含Ory Kratos在NodeJS/ExpressJS/Handlebars/NextJS环境中的用户界面参考实现。它完整实现了Ory Kratos的所有核心流程,包括登录、注册、账户设置、账户恢复及账户验证。

若仅需为应用添加认证功能,无需自定义登录、注册等界面,建议参考Ory Kratos快速入门。

核心功能和特性

  • 完整流程支持:实现Ory Kratos的全部身份认证流程(登录、注册、账户设置、账户恢复、账户验证)
  • 灵活配置:通过环境变量配置Kratos API地址、Cookie设置、TLS等关键参数
  • OAuth2集成:支持Ory Hydra的OAuth2 consent流程,可配置信任客户端ID以跳过 consent 界面
  • 多环境适配:支持本地开发(非HTTPS环境)和生产环境(HTTPS配置)
  • 基础路径自定义:支持通过环境变量或反向代理设置应用的基础路径

使用场景和适用范围

  • 自定义认证界面开发:需要为Ory Kratos构建定制化用户界面的开发者
  • 身份服务集成:作为NodeJS/ExpressJS应用与Ory Kratos集成的参考示例
  • OAuth2 consent流程实现:需要处理Ory Hydra授权决策的场景

使用方法和配置说明

环境变量配置

以下环境变量用于配置Express.js服务,部分变量在本地开发(npm run start)时会由nodemon通过nodemon.json自动设置。使用Ory Network项目时,可通过ORY_SDK_URL替代KRATOS_PUBLIC_URL和HYDRA_ADMIN_URL。

Ory Identities 必要配置
  • ORY_SDK_URL 或 KRATOS_PUBLIC_URL(必填):Ory Kratos公共API的URL。若应用与Kratos在同一私有网络,建议使用私有网络地址(如kratos-public.svc.cluster.local)
  • KRATOS_BROWSER_URL(可选):Kratos公共API的浏览器可访问URL,仅当与KRATOS_PUBLIC_URL不同时需要设置
  • KRATOS_ADMIN_URL(可选):Ory Kratos管理API的URL(如[***])
Ory OAuth2 配置
  • ORY_SDK_URL 或 HYDRA_ADMIN_URL(可选):Ory Hydra管理API的URL。若应用与Hydra在同一私有网络,建议使用私有网络地址(如hydra-admin.svc.cluster.local)
  • COOKIE_SECRET(必填):用于签名Cookie的密钥,需至少8位字母数字字符
  • CSRF_COOKIE_NAME(必填):CSRF Cookie名称,建议使用__HOST-example.com-x-csrf-token格式以匹配域名
  • CSRF_COOKIE_SECRET(可选):Consent路由设置CSRF Cookie哈希值的密钥,需至少8位字母数字字符
  • REMEMBER_CONSENT_SESSION_FOR_SECONDS(可选):设置consent请求的remember_for值(秒),默认3600秒
  • ORY_ADMIN_API_TOKEN(可选):使用Ory Network项目时,OAuth2 Consent流程需配置此管理API令牌
  • DANGEROUSLY_DISABLE_SECURE_CSRF_COOKIES(可选):仅本地开发无HTTPS时使用,设置CSRF Cookie为secure: false;使用时需将CSRF_COOKIE_NAME设置为不含__Host-前缀的名称
  • TRUSTED_CLIENT_IDS(可选):可信客户端ID列表,可跳过consent界面
TLS配置
  • TLS_CERT_PATH(可选):证书文件路径,需与TLS_KEY_PATH同时设置以启用HTTPS
  • TLS_KEY_PATH(可选):密钥文件路径,需与TLS_CERT_PATH同时设置以启用HTTPS
基础路径设置

可通过以下两种方式为应用设置基础路径:

  1. Express.js路由处理:设置BASE_PATH环境变量为子路径(如/myapp)
  2. 反向代理/API网关:通过反向代理或API网关剥离路径前缀(在无服务器环境建议使用第一种方式)
本地开发
无Kratos连接的模拟运行

使用模拟数据运行,无需连接真实Kratos服务:

shell
NODE_ENV=stub npm start

如需为id_token生成模拟数据,额外设置:

shell
export CONFORMITY_FAKE_CLAIMS=1
与本地Kratos测试
  1. 按照Ory Kratos快速入门启动Kratos:

    shell
    # 在Kratos项目中执行
    make quickstart-dev
    
  2. 停止Kratos默认启动的UI容器以释放端口:

    shell
    docker kill kratos_kratos-selfservice-ui-node_1
    
  3. 配置环境变量并启动应用:

    shell
    export KRATOS_PUBLIC_URL=[***]
    export PORT=4455
    npm start
    
TypeScript SDK管理
更新SDK

若修改了Ory Kratos API,需手动生成TypeScript SDK(需安装openapi-generator):

shell
# 设置Kratos项目路径
export KRATOS_DIR=/path/to/kratos
make build-sdk
构建Docker镜像
shell
# 设置Kratos项目路径
export KRATOS_DIR=/path/to/kratos
make build-sdk-docker
清理SDK
shell
make clean-sdk
查看更多 kratos-selfservice-ui-node 相关镜像 →
oryd/hydra logo
oryd/hydra
by Ory Corp
认证
可扩展、安全优先的OAuth 2.0和OpenID Connect服务器
79100M+ pulls
上次更新:2 个月前
oryd/oathkeeper logo
oryd/oathkeeper
by Ory Corp
认证
一款云原生、安全优先的API防火墙,可原生集成ORY Hydra。
4450M+ pulls
上次更新:2 个月前
oryd/keto logo
oryd/keto
by Ory Corp
认证
采用云服务提供商建立的最佳实践,用于表达复杂的权限环境。
1050M+ pulls
上次更新:2 个月前
oryd/kratos logo
oryd/kratos
by Ory Corp
认证
无需再构建用户登录、注册、双因素认证及个人资料管理功能!
22100M+ pulls
上次更新:2 个月前
oryd/hydra-login-consent-node logo
oryd/hydra-login-consent-node
by Ory Corp
认证
ORY Hydra 1.0.x版本的用户登录与同意流程参考实现
1M+ pulls
上次更新:2 个月前
oryd/hydra-maester logo
oryd/hydra-maester
by Ory Corp
认证
暂无描述
1M+ pulls
上次更新:3 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
oryd/kratos-selfservice-ui-node
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429