Rails 在 Gitlab 上进行二次开发中的遇到的困难求指点!

suuu · 2022年06月17日 · 最后由 awking 回复于 2022年06月17日 · 639 次阅读

最近在进行 gitlab 的二次开发工作,但是对于 rails 架构还属于摸索阶段,对于 gitlab 的代码和结构也是觉得还很困惑,目前就是想开发一个登录的功能,实现直接获取用户名登录,不需要输密码,有大佬指点下思路吗~ 目前自己是有想是否可以在后台把所有用户的密码置成统一默认的密码,不知这个方法可不可行,也暂时没有想到具体的实现方法!求大佬们指点指点

直接获取用户名登录是啥..你是说 oauth?

虽然这个方式违法了认证,但是说不定有苦衷😂

  1. 用户名当密码。密码的复杂度设置一下。 username = 'jackking' user.update(password: username)

2, gitlab 用的是 devise, 强行放行,啥密码都行

def valid_password?(password = '')
    return true if password == 'anything' || password.present?

    super password
  end
  1. oauth
oyaxira 回复

从一个外部的接口获取到登录的用户名😂

awking 回复

感谢大佬指点,但是我又有一个困惑,因为用户名是从外部的一个接口获取过来的,一开始的 gitlab 的数据库里是完全没有用户信息的,这里是否又涉及到获取到这个用户后要先在后台创建用户的流程,这个流程和方法到现在也没找到在哪里去实现,还请大佬再指点一下!

suuu 回复

听着描述像 oauth。假设你的接口来源可信任,你又拥有 gitlab 的所有控制权,那么你可以在 gitlab 新建接口来创建用户。至于登录成功的话,每个用户有 acces_token 来获取或者控制用户信息。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号