Open zlweicoder opened 2 years ago
无法登录内网Marketplace时,因登陆后无法回调到内网主页导致无法登录成功,进而导致无法注册用户到数据库和创建token,最终无法上传扩展.
INSERT INTO user_data (id, login_name) VALUES (1001, '${publisher_name}')
查询用户信息
select * from user_data
INSERT INTO personal_access_token (id, user_data, value, active, created_timestamp, accessed_timestamp, description) VALUES (1001, 1001, 'user_token', true, current_timestamp, current_timestamp, 'For publishing extensions')
export OVSX_REGISTRY_URL=http://localhost:8080 //设置发布url指定为自己的server服务地址
export OVSX_PAT=user_token //设置OVSX的token令牌
npx ovsx create-namespace redhat //创建命名空间
npx ovsx publish redhat.vscode-yaml-0.10.1.vsix //发布扩展到本地扩展商店
之后就可以在商店前端页面看到自己发布的扩展
描述:
无法登录内网Marketplace时,因登陆后无法回调到内网主页导致无法登录成功,进而导致无法注册用户到数据库和创建token,最终无法上传扩展.
临时处理方案
在数据库使用sql临时插入数据(user_data/personal_access_token表)
- 首先确定待上传扩展的包发布者名称,确保数据库中存在同名的user 插入一条用户(id需根据表格id进行自增,publisher_name为真实拓展发布者名称)
INSERT INTO user_data (id, login_name) VALUES (1001, '${publisher_name}')
查询用户信息select * from user_data
- 然后根据插入的发布者用户,创建一个Token 插入用户Token令牌(user_data需是插入用户的标识ID,user_token可以是任意字符串)
INSERT INTO personal_access_token (id, user_data, value, active, created_timestamp, accessed_timestamp, description) VALUES (1001, 1001, 'user_token', true, current_timestamp, current_timestamp, 'For publishing extensions')
- 发布已下载好的扩展到本地扩展商店
export OVSX_REGISTRY_URL=http://localhost:8080 //设置发布url指定为自己的server服务地址 export OVSX_PAT=user_token //设置OVSX的token令牌 npx ovsx create-namespace redhat //创建命名空间 npx ovsx publish redhat.vscode-yaml-0.10.1.vsix //发布扩展到本地扩展商店
之后就可以在商店前端页面看到自己发布的扩展
@lwqysu SmartIDE 感谢您的贡献,给力!
问题: 私有化部署Marketplace,Oauth认证目前无法使用除Github OAuth2和 Eclipse OAuth之外的本地化认证服务。 临时解决方案: 数据库脚本插入用户数据和token,达到可以使用token上传的目的:https://github.com/eclipse/openvsx/issues/169 合理解决方案: 支持如 Keycloak 类型的 on-prem IdP ,进度追踪: https://github.com/eclipse/openvsx/issues/337