hydra-idp-react是一个用于Hydra的示例性身份提供者(Identity Provider)及用户登录与同意界面。文档仍在完善中。请注意,此应用本身不执行实际功能,登录仅在被Hydra请求时才有效。更多信息请参考教程。
适用于开发和测试环境中,演示Hydra的身份验证和授权流程,帮助理解Hydra的工作原理。请勿用于生产环境。
bash$ docker run -d -p 3000:3000 --name my-hydra-consent-ui oryd/hydra-idp-react
访问应用:
bash$ open http://localhost:3000/
bash$ open http://$(docker-machine ip default):3000/
bash$ start "" http://$(docker-machine ip default):3000/
安装依赖:
bash$ npm i
启动开发服务器:
bash$ npm run dev
访问应用:
bash$ open http://localhost:3000
bash$ start "" http://localhost:3000/
由于项目使用webpack和React,文件结构较复杂。核心登录逻辑相关文件:
src/common/components/SignIn/index.js:处理登录和同意逻辑的根组件,设置事件处理、显示UI并在同意后重定向到Hydrasrc/common/components/SignIn:其他组件为简单的JSX模板src/common/service/hydra.js:Hydra REST API交互辅助工具src/common/service/userService.js:用户服务示例,可扩展对接LDAP、Postgres、MySQL、MongoDB等src/server/handler/auth.js:提供两个API端点
/api/login:处理登录请求,接收用户名密码,验证和解码同意挑战/api/consent:创建签名的同意令牌要与Hydra连接,需通过以下方式之一提供配置:
.hydra.yml文件CLIENT_ID:OAuth2客户端IDCLIENT_SECRET:OAuth2客户端密钥HYDRA_URL:Hydra服务URL客户端要求:
authorize_code和client_credentials流程code和token响应类型hydra.keys.get和core作用域开发环境中,Hydra通常使用自签名TLS证书。因此npm run dev会设置NODE_TLS_REJECT_UNAUTHORIZED=0,该选项会跳过所有TLS验证,仅在本地机器测试时使用,绝不可用于生产环境。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
不支持 push
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务