使用我的应用程序登录名登录我的Gitlab CE安装

时间:2018-12-19 18:01:58

标签: node.js authentication gitlab

我有一个Nodejs Webapp,其中有许多用户具有自定义登录过程。我希望gitlab接受该身份验证,而不是强制用户创建新应用。最好的方法是什么?

2 个答案:

答案 0 :(得分:3)

我会申请OAuth 2.0单点登录(SSO)。您可以在下面找到here的架构图。如您所见,客户端被重定向为登录OAuth2提供程序以获取有效的身份验证令牌。必须为请求访问的应用程序配置OAuth2服务器,包括密码,客户端ID和回调URL。

enter image description here

您可以将GitLab CE配置为sign in with almost any OAuth2 provider。仅注意限制:

  
      
  • 它只能用于单点登录,不会提供任何OAuth提供程序(导入项目或用户等)授予的任何其他访问权限

  •   
  • 它仅支持授权授予流程(最常见于客户端服务器应用程序,例如GitLab)

  •   
  • 它无法从多个URL中获取用户信息

  •   
  • 未使用除JSON以外的其他用户信息格式进行测试

  •   

您还需要将Node js Web应用程序配置为OAuth2服务器。有npm availables和源代码here

推荐

我将安装一些开源的Identity Management,以将用户管理与您的Web应用程序分开,提供与其他第三方的更好的集成,并忘记加密和其他需要在Web应用程序中保管的内容。例如,有多个选项,例如KeyCloak

答案 1 :(得分:2)

您必须定义一个专用用户,并使用该用户的private_token登录将使用您的应用程序的所有用户。 限制意味着所有用户将拥有相同的权限....

另一种解决方案是在登录时使用用户的专用令牌。在这种情况下,将仅使用这些特定用户的权限。