本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

hasura-auth Docker 镜像下载 - 轩辕镜像

hasura-auth 镜像详细信息和使用指南

hasura-auth 镜像标签列表和版本信息

hasura-auth 镜像拉取命令和加速下载

hasura-auth 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

hasura-auth
nhost/hasura-auth

hasura-auth 镜像详细信息

hasura-auth 镜像标签列表

hasura-auth 镜像使用说明

hasura-auth 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

为Hasura提供认证功能的Docker镜像,专注于处理身份验证需求。
2 收藏0 次下载activenhost镜像

hasura-auth 镜像详细说明

hasura-auth 使用指南

hasura-auth 配置说明

hasura-auth 官方文档

Hasura Auth - Hasura的认证解决方案

镜像概述和主要用途

Hasura Auth 是专为 Hasura 设计的认证服务,提供完整的用户认证与授权解决方案。该服务深度集成 Hasura 生态,支持多种登录方式,通过 JWT 令牌管理用户会话,并将用户数据存储在 PostgreSQL 中,可通过 GraphQL 接口访问。主要用于为基于 Hasura 的 GraphQL 应用提供安全、灵活的用户认证系统,简化用户管理、权限控制及会话管理流程。

核心功能和特性

核心能力

  • 用户数据管理:用户信息存储在 PostgreSQL 数据库中,可通过 GraphQL 接口查询和管理。
  • 多登录方式支持:提供多种用户认证途径,满足不同场景需求。
  • Hasura 权限集成:与 Hasura 权限系统无缝对接,基于用户角色和认证状态控制数据访问权限。
  • 令牌管理:支持 JWT 访问令牌和刷新令牌,保障会话安全。
  • 邮件通知:在关键操作(如注册、密码重置)时自动发送邮件通知。
  • 密码安全检查:可选集成 Pwned Passwords 检查,防止使用已知泄露密码。
  • 开发质量:100% 基于 TypeScript 开发,确保类型安全和代码质量。

支持的登录方式

  • 密码登录:传统的和密码认证方式。
  • 无密码*登录**:通过发送魔法链接(Magic Link)完成认证,无需密码。
  • 无密码短信登录:通过短信验证码完成认证。
  • ***登录:无需任何凭证即可创建临时用户,支持后续转换为正式用户。
  • OAuth 第三方登录:支持以下平台:

    • Google
    • GitHub

    • Apple
    • LinkedIn
    • Windows Live
    • Spotify
    • Strava
    • GitLab
    • BitBucket

使用场景和适用范围

Hasura Auth 适用于以下场景:

  • 基于 Hasura 构建的 GraphQL 应用,需要用户认证和授权功能。
  • 需要支持多种登录方式(如***、短信、第三方 OAuth)的应用。
  • 需与 Hasura 权限系统深度集成,实现基于角色的访问控制(RBAC)。
  • 需要安全的 JWT 令牌管理和会话刷新机制的服务。
  • 希望避免从零开发认证系统,快速集成成熟解决方案的项目。

部署与使用方法

Docker 快速部署

1. 使用 docker run 部署

bash
docker run -d \
  --name hasura-auth \
  -p 4000:4000 \
  -e DATABASE_URL=postgresql://user:password@postgres:5432/hasura_auth \
  -e HASURA_GRAPHQL_ENDPOINT=[***] \
  -e JWT_SECRET='{"type":"HS256","key":"your-256-bit-secret-key"}' \
  -e SMTP_HOST=smtp.example.com \
  -e SMTP_PORT=587 \
  -e SMTP_USER=*** \
  -e SMTP_PASSWORD=smtp-password \
  -e EMAIL_FROM=*** \
  nhost/hasura-auth:2.2.1

2. 使用 docker-compose 部署

创建 docker-compose.yml 文件:

yaml
version: '3.8'

services:
  postgres:
    image: postgres:14
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: hasura_auth
    volumes:
      - postgres_data:/var/lib/postgresql/data

  hasura:
    image: hasura/graphql-engine:v2.28.0
    ports:
      - "8080:8080"
    environment:
      HASURA_GRAPHQL_DATABASE_URL: postgresql://user:password@postgres:5432/hasura_auth
      HASURA_GRAPHQL_ENABLE_CONSOLE: "true"
      HASURA_GRAPHQL_ADMIN_SECRET: hasura-admin-secret
      HASURA_GRAPHQL_JWT_SECRET: '{"type":"HS256","key":"your-256-bit-secret-key"}'

  hasura-auth:
    image: nhost/hasura-auth:2.2.1
    ports:
      - "4000:4000"
    environment:
      DATABASE_URL: postgresql://user:password@postgres:5432/hasura_auth
      HASURA_GRAPHQL_ENDPOINT: [***]
      HASURA_GRAPHQL_ADMIN_SECRET: hasura-admin-secret
      JWT_SECRET: '{"type":"HS256","key":"your-256-bit-secret-key"}'
      SMTP_HOST: smtp.example.com
      SMTP_PORT: 587
      SMTP_USER: ***
      SMTP_PASSWORD: smtp-password
      EMAIL_FROM: ***
    depends_on:
      - postgres
      - hasura

volumes:
  postgres_data:

启动服务:

bash
docker-compose up -d

环境变量配置说明

Hasura Auth 的行为通过环境变量配置,以下是核心参数说明:

必选环境变量

变量名描述示例值
DATABASE_URLPostgreSQL 数据库连接 URL,用于存储用户数据postgresql://user:password@postgres:5432/db
HASURA_GRAPHQL_ENDPOINTHasura GraphQL 引擎的 HTTP 端点[***]
JWT_SECRETJWT 签名密钥,JSON 格式,包含算法和密钥{"type":"HS256","key":"your-256-bit-secret"}
HASURA_GRAPHQL_ADMIN_SECRETHasura 管理员密钥,用于 Hasura Auth 调用 Hasura 管理 APIhasura-admin-secret

可选环境变量(邮件配置)

变量名描述示例值
SMTP_HOSTSMTP 服务器地址smtp.example.com
SMTP_PORTSMTP 服务器端口587
SMTP_USERSMTP 认证用户名***
SMTP_PASSWORDSMTP 认证密码smtp-password
EMAIL_FROM邮件发送者地址***
SMTP_SECURE是否启用 TLS(true/false)true

可选环境变量(安全配置)

变量名描述示例值
CHECK_PWNED_PASSWORDS是否启用 Pwned Passwords 检查(true/false)true
JWT_EXPIRES_INJWT 访问令牌过期时间(秒)900(15分钟)
REFRESH_TOKEN_EXPIRES_IN刷新令牌过期时间(秒)604800(7天)

贡献与支持

  • 贡献指南:欢迎提交 issues 和 PR,详情可参考项目 Issues 页面。
  • 社区支持:若本项目对您有帮助,欢迎在 GitHub 给予 ⭐️ 支持。

许可证

本项目采用 MIT 许可证开源。详情参见 LICENSE。

用户好评

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

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

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