jenkinsci / azure-ad-plugin

Authentication and Authorization with Azure AD
https://plugins.jenkins.io/azure-ad/
MIT License
29 stars 58 forks source link

Automatically created users cannot be deleted #301

Open meiswjn opened 2 years ago

meiswjn commented 2 years ago

Jenkins and plugins versions report

Environment ```text Jenkins: 2.346.2 OS: Windows Server 2012 R2 - 6.3 --- Office-365-Connector:4.17.0 ace-editor:1.1 analysis-model-api:10.16.0 ansicolor:1.0.2 ant:475.vf34069fef73c antisamy-markup-formatter:2.7 apache-httpcomponents-client-4-api:4.5.13-138.v4e7d9a_7b_a_e61 artifactory:3.17.0 audit-trail:3.11 authentication-tokens:1.4 azure-ad:241.vb_e5cd7c35b_2e azure-credentials:216.ve0b_4a_485ffc2 azure-sdk:118.v43f74dd9ca_dc basic-branch-build-strategies:1.3.2 blueocean:1.25.6 blueocean-autofavorite:1.2.5 blueocean-bitbucket-pipeline:1.25.6 blueocean-commons:1.25.6 blueocean-config:1.25.6 blueocean-core-js:1.25.6 blueocean-dashboard:1.25.6 blueocean-display-url:2.4.1 blueocean-events:1.25.6 blueocean-git-pipeline:1.25.6 blueocean-github-pipeline:1.25.6 blueocean-i18n:1.25.6 blueocean-jwt:1.25.6 blueocean-personalization:1.25.6 blueocean-pipeline-api-impl:1.25.6 blueocean-pipeline-editor:1.25.6 blueocean-pipeline-scm-api:1.25.6 blueocean-rest:1.25.6 blueocean-rest-impl:1.25.6 blueocean-web:1.25.6 bootstrap5-api:5.1.3-7 bouncycastle-api:2.26 branch-api:2.1046.v0ca_37783ecc5 build-blocker-plugin:1.7.8 build-discarder:60.v1747b0eb632a build-monitor-plugin:1.13+build.202205140447 build-user-vars-plugin:1.9-rc127.da32fb9ecc2a build-with-parameters:1.6 caffeine-api:2.9.3-65.v6a_47d0f4d1fe checks-api:1.7.4 cloudbees-bitbucket-branch-source:785.ve724eb_44e286 cloudbees-disk-usage-simple:170.va_fd5b_4ee6858 cloudbees-folder:6.740.ve4f4ffa_dea_54 code-coverage-api:3.0.4 command-launcher:84.v4a_97f2027398 conditional-buildstep:1.4.2 config-file-provider:3.11.1 confluence-publisher:136.vc30a_a_0d845d7 copyartifact:1.46.4 credentials:1139.veb_9579fca_33b_ credentials-binding:523.vd859a_4b_122e6 dashboard-view:2.447.vda_124dd35f11 data-tables-api:1.12.1-2 dependency-check-jenkins-plugin:5.1.2 display-url-api:2.3.6 docker-commons:1.19 docker-java-api:3.2.13-37.vf3411c9828b9 docker-plugin:1.2.9 docker-workflow:521.v1a_a_dd2073b_2e dtkit-api:3.0.1 durable-task:496.va67c6f9eefa7 echarts-api:5.3.3-1 email-ext:2.91 envinject:2.875.v9b_9e962da_a_ec envinject-api:1.199.v3ce31253ed13 extended-choice-parameter:346.vd87693c5a_86c extended-read-permission:3.2 external-monitor-job:192.ve979ca_8b_3ccd extra-columns:1.25 favorite:2.4.1 file-operations:1.11 file-parameters:205.vf6ce13b_e5dee font-awesome-api:6.1.1-1 forensics-api:1.15.1 git:4.11.4 git-client:3.11.2 github:1.34.5 github-api:1.303-400.v35c2d8258028 github-branch-source:1677.v731f745ea_0cf github-checks:1.0.18 gradle:1.39.4 groovy:442.v817e6d937d6c handlebars:3.0.8 handy-uri-templates-2-api:2.1.8-22.v77d5b_75e6953 htmlpublisher:1.30 http_request:1.16 integrity-plugin:2.4 ivy:2.2 jackson2-api:2.13.3-285.vc03c0256d517 jacoco:3.3.2 jakarta-activation-api:2.0.1-1 jakarta-mail-api:2.0.1-1 javadoc:226.v71211feb_e7e9 javax-activation-api:1.2.0-4 javax-mail-api:1.6.2-7 jaxb:2.3.6-1 jdk-tool:55.v1b_32b_6ca_f9ca jenkins-design-language:1.25.6 jira:3.7.1 jjwt-api:0.11.5-77.v646c772fddb_0 job-restrictions:0.8 jobConfigHistory:1165.v8cc9fd1f4597 jquery:1.12.4-1 jquery3-api:3.6.0-4 jsch:0.1.55.61.va_e9ee26616e7 junit:1119.1121.vc43d0fc45561 ldap:2.11 leastload:3.0.0 list-git-branches-parameter:0.0.11 locale:180.v207501dff9b_a_ localization-support:1.1 lockable-resources:2.16 mailer:435.v79ef3972b_5c7 mask-passwords:3.3 matlab:2.8.0 matrix-auth:3.1.5 matrix-project:772.v494f19991984 maven-plugin:3.19 metrics:4.2.10-389.v93143621b_050 mina-sshd-api-common:2.8.0-36.v8e25ce90d4b_1 mina-sshd-api-core:2.8.0-36.v8e25ce90d4b_1 momentjs:1.1.1 monitoring:1.91.0 msbuild:1.30 next-executions:1.0.15 nodejs:1.5.1 nuget:1.1 okhttp-api:4.9.3-108.v0feda04578cf parameterized-scheduler:1.0 parameterized-trigger:2.45 parasoft-findings:10.5.3 pipeline-build-step:2.18 pipeline-github:2.8-138.d766e30bb08b pipeline-graph-analysis:195.v5812d95a_a_2f9 pipeline-groovy-lib:612.v84da_9c54906d pipeline-input-step:449.v77f0e8b_845c4 pipeline-milestone-step:101.vd572fef9d926 pipeline-model-api:2.2114.v2654ca_721309 pipeline-model-definition:2.2114.v2654ca_721309 pipeline-model-extensions:2.2114.v2654ca_721309 pipeline-rest-api:2.24 pipeline-stage-step:293.v200037eefcd5 pipeline-stage-tags-metadata:2.2114.v2654ca_721309 pipeline-stage-view:2.24 pipeline-utility-steps:2.13.0 plain-credentials:139.ved2b_9cf7587b plot:2.1.11 plugin-usage-plugin:3.0 plugin-util-api:2.17.0 popper-api:1.16.1-3 popper2-api:2.11.5-2 powershell:1.7 prism-api:1.28.0-2 pubsub-light:1.16 resource-disposer:0.19 robot:3.2.0 run-condition:1.5 scm-api:621.vda_a_b_055e58f7 script-security:1175.v4b_d517d6db_f0 snakeyaml-api:1.30.2-76.vc104f7ce9870 sonar:2.14 splunk-devops:1.10.0 sse-gateway:1.25 ssh-agent:295.v9ca_a_1c7cc3a_a_ ssh-credentials:295.vced876c18eb_4 ssh-slaves:1.821.vd834f8a_c390e ssh-steps:2.0.39.v831c5e6468b_c sshd:3.242.va_db_9da_b_26a_c3 structs:324.va_f5d6774f3a_d thinBackup:1.10 timestamper:1.18 token-macro:308.v4f2b_ed62b_b_16 trilead-api:1.67.vc3938a_35172f uipath-automation-package:2.9.2 uno-choice:2.6.3 variant:59.vf075fe829ccb versioncolumn:2.2 warnings-ng:9.15.0 windows-slaves:1.8.1 workflow-aggregator:590.v6a_d052e5a_a_b_5 workflow-api:1188.v0016b_4f29881 workflow-basic-steps:986.v6b_9c830a_6b_37 workflow-cps:2759.v87459c4eea_ca_ workflow-durable-task-step:1199.v02b_9244f8064 workflow-job:1207.ve6191ff089f8 workflow-multibranch:716.vc692a_e52371b_ workflow-scm-step:400.v6b_89a_1317c9a_ workflow-step-api:639.v6eca_cd8c04a_a_ workflow-support:838.va_3a_087b_4055b ws-cleanup:0.42 xunit:3.1.0 ```

What Operating System are you using (both controller, and any agents involved in the problem)?

Windows Server

Reproduction steps

  1. Use Matrix Authorization Strategy
  2. Add a user that does not yet have any Jenkins account to a folder and give him all access.
  3. The user is automatically created and available in /asyncPeople
  4. The user cannot be deleted in the UI.
  5. The user can be deleted by adding a /delete to the URL.

Expected Results

It should be possible to delete the user in the UI.

Actual Results

The button "delete" is not available.

Anything else?

No response

meiswjn commented 7 months ago

After a change in the API, it now requires manually appending "/doDelete" instead of "/delete"