gitlab加入钉钉认证登陆以后,运行一段时间突然出现无法认证登录的情况。
提示错误422
使用 用钉钉登录 认证登录失败
电子邮件 不能为空字符
422具体是谁返回的,gitlab还是钉钉侧,这个可能需要查看下/var/log/gitlab下的日志
==> /var/log/gitlab/gitlab-rails/application.log <==
2023-03-29T02:43:14.989Z: (dingtalk) Callback phase initiated.
==> /var/log/gitlab/gitlab-rails/application_json.log <==
{“severity”:“DEBUG”,“time”:“2023-03-29T02:43:14.989Z”,“correlation_id”:“此处我隐藏处理”,“message”:"(dingtalk) Callback phase initiated."}
==> /var/log/gitlab/gitlab-rails/production.log <==
Processing by OmniauthCallbacksController#dingtalk as HTML
Parameters: {“code”=>"[FILTERED]", “state”=>“df4dc2d13dd6e61a1570a3397e411de3fcc537e61a6ef1cb”}
==> /var/log/gitlab/gitlab-rails/application.log <==
2023-03-29T02:43:15.758Z: (OAuth) Error saving user (): [“电子邮件 不能为空字符”]
==> /var/log/gitlab/gitlab-rails/application_json.log <==
{“severity”:“INFO”,“time”:“2023-03-29T02:43:15.758Z”,“correlation_id”:“此处我隐藏处理”,“message”:"(OAuth) Error saving user (): [“电子邮件 不能为空字符”]"}
==> /var/log/gitlab/gitlab-rails/production.log <==
Rendered layout layouts/oauth_error.html.haml (Duration: 10.0ms | Allocations: 434)
Completed 422 Unprocessable Entity in 175ms (Views: 10.8ms | ActiveRecord: 8.8ms | Elasticsearch: 0.0ms | Allocations: 19315)
我单独的调试了 Omniauth-dingtalk的插件,从钉钉那边传过来的参数里是有邮件地址信息的。不知道为什么gitlab没能拿到