個人 Gitlab 帳戶可以登錄但收到無效令牌
我的 Gitlab 實例上共有 3 個帳戶現在已被“軟鎖定”。
幾個月前,我的同事報告說無法登錄 Gitlab(他們在輸入憑據後看到 403 錯誤)。從管理螢幕看一切都很好,我們最終通過刪除帳戶並允許他們創建一個新帳戶,然後恢復權限來“解決”問題。
本週又有 2 個帳戶以類似的方式被鎖定(我的和第三位同事)。我已經通過像以前一樣刪除他們的帳戶為其他同事解決了這個問題,但我很想了解正在發生的事情以及是否有辦法在不失去帳戶的情況下解決它。
該帳戶在管理員界面上看起來信譽良好(未鎖定或阻止或等待電子郵件確認。)
基於 SSH 的項目訪問(推送和拉取)繼續正常工作。
到目前為止,我已經嘗試將帳戶與其 LDAP 身份斷開連接並將其轉換為本地帳戶(使用另一個管理員帳戶)。這並沒有導致行為改變,所以我不認為 LDAP 集成在這裡有問題。
我不知道如何超越這一點,Google搜尋給了我很多執行緒,人們在登錄時遇到錯誤,而不是能夠登錄但無法使用網路界面。
我在 Web 界面上創建了另一個完整的管理員帳戶,並且對執行 gitlab 的盒子具有 root 訪問權限,因此可以在需要時提供來自 gitlab-rails 控制台等的輸出。
更新:我從 gitlab-rails 控制台獲得了鎖定帳戶的全新個人訪問令牌,當我嘗試呼叫 API 時收到 403 Forbidden(當我為令牌放入垃圾時收到 401 Unauthorized)。我認為數據庫中一定有什麼東西將我的帳戶標記為已鎖定。
Crikey,終於找到了這個。
不知何故,我們的 Anti-Bot 保護 (admin/application_settings/reporting#js-spam-settings) 設置為每週 5 個 IP。我們的一些使用者觸發了這種情況並被鎖定。
我並不驚訝這對客戶不透明(畢竟我們為什麼要告訴機器人它需要做什麼來避免安全措施?)但我很驚訝這對管理員來說是不可見的Web 界面或日誌中!
無論如何,解決方案是恢復預設值 10/小時。