解决方法
我会去
OAuth 2.0单点登录(SSO).您可以在下面找到从
here获取的体系结构图.如您所见,客户端被重定向以登录OAuth2提供程序以获取有效的身份验证令牌.必须为请求访问的应用程序配置OAuth2服务器,包括机密,客户机ID和回调URL.
您可以将GitLab CE配置为sign in with almost any OAuth2 provider.只需注意以下限制:
It can only be used for Single Sign on,and will not provide any other access granted by any OAuth provider (importing projects or users,etc)
It only supports the Authorization Grant flow (most common for client-server applications,like GitLab)
It is not able to fetch user information from more than one URL
It has not been tested with user information formats other than JSON
您还需要将节点js Web应用程序配置为OAuth2服务器.有npm availables,源代码为here.
建议
我会安装一些开源身份管理来将用户管理与您的webapp分开,提供与其他第三方的更好集成,并忘记加密以及您需要在Web应用中处理的其他内容.有多个选项,例如KeyCloak.