如何通过Windows Active Directory登录使用Hasura CLI导出元数据?
使用Windows Active Directory SSO登录时导出Hasura元数据的CLI方法
环境信息
- Hasura GraphQL服务器版本:v2.6.2-pro.1
- Hasura CLI版本:2.15.0
- 认证方式:Windows Active Directory SSO(无管理员密钥)
解决方案
由于通过SSO登录无法直接获取管理员密钥,需借助Web控制台的会话令牌完成CLI认证,具体步骤及命令如下:
1. 获取会话令牌
通过AD SSO登录Hasura Web控制台后,在浏览器中打开开发者工具(F12):
- 切换到「Application」标签页
- 展开「Storage」→「Cookies」,找到对应Hasura服务器域名的
hasura_sessioncookie - 复制该cookie的完整值,这就是用于CLI认证的会话令牌
2. CLI命令示例
方式一:直接在导出命令中传入令牌
无需初始化项目,直接执行导出命令:
hasura metadata export --endpoint <你的Hasura服务器地址> --admin-token <复制的hasura_session值>
方式二:初始化项目后配置令牌
先初始化本地项目:
hasura init my-hasura-project --endpoint <你的Hasura服务器地址>
编辑项目目录下的config.yaml,将原有的admin_secret字段替换为admin_token并填入会话令牌:
endpoint: <你的Hasura服务器地址> admin_token: <复制的hasura_session值>
之后在项目目录下直接执行导出命令:
hasura metadata export
注意事项
- 会话令牌存在有效期,过期后需重新从Web控制台获取
- 确保复制的令牌完整,避免包含多余空格或特殊字符
内容的提问来源于stack exchange,提问作者crazyTech
相关产品推荐
相关产品推荐

