diff --git a/CHANGELOG.unreleased.md b/CHANGELOG.unreleased.md index 608d1548e..b9d2f7e78 100644 --- a/CHANGELOG.unreleased.md +++ b/CHANGELOG.unreleased.md @@ -32,7 +32,7 @@ -- xo-server patch +- xo-server minor - xo-server-auth-github minor - xo-server-auth-google minor - xo-web patch diff --git a/packages/xo-server/src/api/user.mjs b/packages/xo-server/src/api/user.mjs index a8e79209c..3060855ce 100644 --- a/packages/xo-server/src/api/user.mjs +++ b/packages/xo-server/src/api/user.mjs @@ -112,3 +112,16 @@ changePassword.params = { oldPassword: { type: 'string' }, newPassword: { type: 'string' }, } + +// ------------------------------------------------------------------- + +export async function removeAuthProvider({ id, authProvider }) { + await this.updateUser(id, { authProviders: { [authProvider]: null } }) +} + +removeAuthProvider.permission = 'admin' + +removeAuthProvider.params = { + authProvider: { type: 'string' }, + id: { type: 'string' }, +}