platform-samples icon indicating copy to clipboard operation
platform-samples copied to clipboard

Reinviting org members thorugh API does not support reinstating privileges

Open audunsolemdal opened this issue 4 years ago • 2 comments

https://github.com/github/platform-samples/blob/master/api/powershell/invite_members_to_org.ps1

So through the GUI if you invite users who have been part of the org recently, you get these options to reinstate privileges which is great

image

I checked the network tab and it makes a POST request towards https://github.com/orgs/equinor/invitations?invitee_id=<github_id>&role=reinstate

This doesn’t seem to happen / be available when making the call through the API though https://docs.github.com/en/rest/reference/orgs#create-an-organization-invitation

We tested removing a user, inviting them through the script. The invite works, but the privileges are not reinstated. The person had lost access to their repos + starred equinor repos (assuming this is because he lost repo access, assuming also access to Github teams etc.

Since this isn’t supported through the API call, I assume this also means that the SCIM provisioning which re-invites removed org members also makes them start fresh, which is sub-optimal for our use case.

I’ve also had reports earlier that re-instated members also have had their personal access tokens / ssh keys “lost”, which probably means they mean have been de-authortized from using SSO to the org. I have not verified if or when this happens myself.

audunsolemdal avatar Mar 25 '21 08:03 audunsolemdal

Hi, did anyone find something about reinstating a member through the API ?

matmut7 avatar Aug 14 '23 15:08 matmut7

you can use the API that creates invitations https://docs.github.com/en/rest/orgs/members?apiVersion=2022-11-28#create-an-organization-invitation but instead of using one of the roles mentioned in the docs you can use the role "reinstate"

YazanAlnasr avatar Sep 27 '23 12:09 YazanAlnasr