SSO enforcement for Git and API access
Works by looking up browser sessions stored in Redis to see if the user has any active SAML sessions for the group a resource belongs to. When we are in a web request we use the current session. Outside of web requests we check for background sessions.
Showing
- ee/app/policies/ee/group_policy.rb 1 addition, 1 deletionee/app/policies/ee/group_policy.rb
- ee/app/policies/ee/project_policy.rb 1 addition, 1 deletionee/app/policies/ee/project_policy.rb
- ee/changelogs/unreleased/jej-enforce-sso-background-session-for-git-and-api.yml 5 additions, 0 deletions...ed/jej-enforce-sso-background-session-for-git-and-api.yml
- ee/lib/gitlab/auth/group_saml/background_sso_state.rb 25 additions, 0 deletionsee/lib/gitlab/auth/group_saml/background_sso_state.rb
- ee/lib/gitlab/auth/group_saml/sso_enforcer.rb 13 additions, 8 deletionsee/lib/gitlab/auth/group_saml/sso_enforcer.rb
- ee/lib/gitlab/auth/group_saml/sso_state.rb 14 additions, 2 deletionsee/lib/gitlab/auth/group_saml/sso_state.rb
- ee/spec/lib/gitlab/auth/group_saml/background_sso_state_spec.rb 62 additions, 0 deletions...c/lib/gitlab/auth/group_saml/background_sso_state_spec.rb
- ee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb 30 additions, 8 deletionsee/spec/lib/gitlab/auth/group_saml/sso_enforcer_spec.rb
- ee/spec/lib/gitlab/auth/group_saml/sso_state_spec.rb 48 additions, 2 deletionsee/spec/lib/gitlab/auth/group_saml/sso_state_spec.rb
- ee/spec/policies/group_policy_spec.rb 14 additions, 2 deletionsee/spec/policies/group_policy_spec.rb
- ee/spec/policies/project_policy_spec.rb 14 additions, 2 deletionsee/spec/policies/project_policy_spec.rb
Please register or sign in to comment