SmartIDE / eclipse-openvsx

A fork of eclipse-openvsx, optimized for Chinese developer usage.
https://marketplace.smartide.cn
Eclipse Public License 2.0
7 stars 4 forks source link

Support for additional Identity/Login Providers #8

Open zlweicoder opened 2 years ago

zlweicoder commented 2 years ago

问题: 私有化部署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

lwqysu commented 2 years ago

描述:

 无法登录内网Marketplace时,因登陆后无法回调到内网主页导致无法登录成功,进而导致无法注册用户到数据库和创建token,最终无法上传扩展.

临时处理方案

之后就可以在商店前端页面看到自己发布的扩展

zlweicoder commented 2 years ago

描述:

 无法登录内网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 感谢您的贡献,给力!