songquanpeng / one-api

OpenAI 接口管理 & 分发系统,支持 Azure、Anthropic Claude、Google PaLM 2 & Gemini、智谱 ChatGLM、百度文心一言、讯飞星火认知、阿里通义千问、360 智脑以及腾讯混元,可用于二次分发管理 key,仅单可执行文件,已打包好 Docker 镜像,一键部署,开箱即用. OpenAI key management & redistribution system, using a single API for all LLMs, and features an English UI.
https://openai.justsong.cn/
MIT License
18.57k stars 4.19k forks source link

api接口登陆成功后access_token为空,无法获取access_token #1589

Closed peterwillcn closed 3 months ago

peterwillcn commented 3 months ago

问题描述 api接口登陆成功后access_token为空,无法获取系统管理的access_token, 因此无法脱离web页面自动化部署后续操作了

复现步骤

curl -H "Content-Type: application/json"  -X POST -d '{"username": "root", "password": "123456"}'  http://localhost:3600/api/user/login

预期结果

相关截图 30a1fd530f4a513b795d2b17d5a4be2d

4011155632cc725afc6773a5182fbbac

igophper commented 3 months ago

access_token 是设置页面生成的,账号密码登录时使用的cookie session 你是想用access_token 吗? 可以在设置页面搞一个[生成系统访问令牌]。账号密码登录暂时没有返回access_token

songquanpeng commented 3 months ago

其实这个是有意这样设计的,我想问一下是什么场景需要从这个接口返回 access token?

peterwillcn commented 3 months ago

用在全自动化部署场景(例如:这个 access token给curl用获取访问令牌, 自动生成fastgpt的docker-compose文件,填充environment/CHAT_API_KEY),无需人工去页面获取.

songquanpeng commented 3 months ago

实际上我理解可以这样搞,用一个环境变量来在初始化的时候固定 root 用户的 access token,你觉得呢?我是感觉这个接口返回 token 有点不安全

peterwillcn commented 3 months ago

实际上我理解可以这样搞,用一个环境变量来在初始化的时候固定 root 用户的 access token,你觉得呢?我是感觉这个接口返回 token 有点不安全

@songquanpeng 是的,curl 无界面注入渠道, 所以access token是curl必须的参数. 我来加PR 还是你来加,这新加入(ROOT_ACCESS_TOKEN)的环境变量哈。

songquanpeng commented 3 months ago

你来吧

peterwillcn commented 3 months ago

你来吧

FIXED DONE https://github.com/songquanpeng/one-api/pull/1598