
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
该仓库包含一个库和一个示例Express应用,用于连接ORY Hydra与Auth0。
https://circleci.com/gh/ory/hydra-auth0-consent-sdk.svg?style=shield](https://circleci.com/gh/ory/hydra-auth0-consent-sdk)
创建Auth0账户和租户后,需创建一个新客户端,供consent应用连接Auth0使用。
!创建新Auth0客户端
创建完成后,进入“设置”选项卡,使用客户端ID、客户端密钥和域字段填充环境变量AUTH0_CLIENT_ID、AUTH0_CLIENT_SECRET、AUTH0_DOMAIN。
!复制Auth0客户端凭据
为使本演示正常工作,还需添加回调URL http://localhost:4446/auth/callback,这是Docker演示使用的回调URL。
!设置Auth0客户端回调URL
设置环境变量后,即可运行演示。确保已安装docker和docker-compose,然后运行:
bashdocker-compose -p auth0consent up --build
所有服务启动后,使用以下CLI命令执行OAuth 2.0授权码流程:
bash$ docker rm -f auth0consent_hydra_token; docker run \ --name auth0consent_hydra_token \ --rm \ -p 4445:4445 \ --network auth0consent_subnet \ oryd/hydra:v0.10.0-alpha.18 \ token user \ --auth-url=http://localhost:4444/oauth2/auth \ --token-url=http://hydra:4444/oauth2/token \ --id root \ --secret secret \ --no-open \ --scopes offline,openid
该仓库包含两个包:https://www.npmjs.com/package/ory-hydra-auth0-consent-sdk%EF%BC%88%E5%8C%85%E5%90%AB%E5%A4%84%E7%90%86consent%E6%B5%81%E7%A8%8B%E7%9A%84%E8%BE%85%E5%8A%A9%E5%B7%A5%E5%85%B7%EF%BC%89%E5%92%8C%E4%B8%80%E4%B8%AA%E7%A4%BA%E4%BE%8B%E5%BA%94%E7%94%A8%E3%80%82
你可以将示例应用作为参考,或 fork 它来创建自己的consent应用。
首先需要初始化passport,SDK提供了辅助函数:
jsvar consent = require('ory-hydra-consent-sdk'); var winston = require('winston'); // 建议使用winston进行日志记录 var initializePassport = consent.initializePassport; initializePassport(passport, winston)
要在Express应用中使用SDK,需加载特定的Express中间件,如body parser、session中间件、passport中间件等。为简化此过程,提供了一个辅助函数:
jsvar express = require('express'); var consent = require('ory-hydra-consent-sdk'); var initializeMiddleware = consent.initializeMiddleware; var app = express(); app.use(logger('dev')); // 加载一些中间件,如请求日志 app.use(express.static(path.join(__dirname, '..', 'public'))); // 或静态文件服务 initializeMiddleware(app, passport); // 加载SDK工作所需的中间件
初始化完成后,需定义登录、回调和consent路由。有关如何实现的示例,请查看此文档化源代码文件。
示例应用支持以下环境变量进行配置:
| 环境变量 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| AUTH0_CLIENT_ID | Auth0客户端ID | 是 | `` |
| AUTH0_CLIENT_SECRET | Auth0客户端密钥 | 是 | `` |
| AUTH0_DOMAIN | Auth0域 | 是 | `` |
| AUTH0_CALLBACK_URL | consent应用的回调URL,必须在Auth0客户端设置中列入白名单 | 是 | `` |
| HYDRA_CLIENT_ID | 能够访问ORY Hydra /oauth2/consent/requests端点的OAuth 2.0客户端ID | 是 | `` |
| HYDRA_CLIENT_Secret | 访问ORY Hydra的OAuth 2.0客户端密钥 | 是 | `` |
| HYDRA_URL | ORY Hydra的URL | 是 | `` |
| COOKIE_SECRET | 用于加密会话值的密钥 | 否 | uuid.v4() |
| DEFAULT_REDIRECT_URL | 允许用户在发生错误时继续操作 | 否 | `` |
| LOG_LEVEL | 设置为debug可查看应用运行详情 | 否 | info |
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务