Repository navigation
fix(sso): make canonical login_id UID mandatory in OAuth/OIDC login - #34
Closed
servicememeai wants to merge 1 commit into
Closed
servicememeai wants to merge 1 commit into
servicememeai wants to merge 1 commit into
Conversation
servicememeai
added a commit
that referenced
this pull request
Oct 20, 2026
Consolidate PR #35 and the selected identity fixes from PR #34. - Link additional verified OIDC identities to the same canonical Etech UID owner. - Gate trusted UID-mapped legacy OAuth against exact Profile.login_id and provider/sub conflicts. - Consume OAuth state and verify legacy OIDC nonce/token proof. - Preserve generic OAuth and native V2 isolation; no old bridge, schema or build. Targeted source checks and pure UID regressions passed. DEV identity/ACL E2E remains unverified.
Author
|
已按统一方案收口:PR #35 已 squash 合并到 吸收到 #35 的有效内容:
没有原样合入 #34 的完整 Seahub 回调替换。保留 V2 当前禁止引用退役 EAP OAuth 桥接的规则,未配置可信 代码及轻量 CI 已通过;真实 DEV/Authentik/Etech 登录与文件权限联验尚未执行,不能视为部署验收。详情见 #35。 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Goal
Fix mixed legacy OAuth2 / new OIDC entry points so their authenticated identity always resolves via the exact Etech UID stored in
Profile.login_idto the same enabled Seafile native account and its existing permissions. Preserve existing user/storage/ACL data.Changes
login_idupdate as successful authentication.Validation
git diff --check: pass.python3 -m unittest discover -s cloudfile_ext/sso/tests -p test_uid_binding.py -v: 3 tests pass.Review / merge gate
Verify legacy OAuth, new OIDC and EAP-authenticating portal flows with the same Etech UID and differing email/employee data. Verify existing bindings, negative UID/sub conflicts, directory unavailable, active/disabled, ACL and actual file permissions before merging/deploying. This is intentionally a draft PR.