Skip to content

Commit 0c442d3

Browse files
committed
delete bad auth0 accounts
1 parent f8eb999 commit 0c442d3

2 files changed

Lines changed: 59 additions & 1 deletion

File tree

packages/lib/auth0.cfc

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,7 +464,52 @@ component {
464464
}
465465

466466

467+
public struct function deleteBadAuth0Users() {
468+
var token = getAuthToken();
469+
var qBadAuth0Users = [];
470+
var deleteResult;
471+
var userId;
472+
var successCount = 0;
473+
var errors = [];
474+
475+
var qBadAuth0Users = queryExecute("
476+
SELECT u.userid, p.emailAddress
477+
FROM dmProfile_backup p
478+
INNER JOIN bad_profiles b ON p.objectid = b.objectid
479+
INNER JOIN a0user u ON p.emailAddress = u.email
480+
WHERE NOT EXISTS (
481+
SELECT 1 FROM dmProfile d
482+
WHERE d.emailAddress = p.emailAddress
483+
);
484+
", { }, { datasource=application.dsn });
485+
486+
if (qBadAuth0Users.recordCount > 0) {
487+
cfsetting(requestTimeout=50000);
488+
for (var user in qBadAuth0Users) {
489+
try {
490+
userId = user.userid;
491+
deleteResult = makeRequest(
492+
method = "DELETE",
493+
endpoint = "/api/v2/users/" & userId,
494+
token = token
495+
);
496+
queryExecute("
497+
DELETE FROM a0User
498+
WHERE userid = :userID
499+
", { userID={ type="cf_sql_varchar", value=userId } }, { datasource=application.dsn });
500+
successCount++;
501+
sleep(500);
502+
} catch (any e) {
503+
application.fc.lib.error.logData(application.fc.lib.error.normalizeError(e));
504+
}
505+
}
506+
}
467507

508+
return {
509+
"successCount": successCount,
510+
"errors": errors
511+
};
512+
}
468513

469514

470515

webskin/a0Login/webtopBodyStatus.cfm

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,20 @@
159159
</ft:processForm>
160160
<ft:form>
161161
<ft:buttonPanel>
162-
<ft:button value="Delete Users" />
162+
<ft:button value="Delete Users" onclick="if (!confirm('Are you sure you want to delete all accounts on auth0?')) return false;"/>
163+
</ft:buttonPanel>
164+
</ft:form>
165+
166+
<cfoutput>
167+
<h2>Delete Bad Auth0 Accounts</h2>
168+
</cfoutput>
169+
<ft:processForm action="Delete Bad Accounts">
170+
<cfset aDeleteBadAuth0Users=application.fc.lib.auth0.deleteBadAuth0Users() />
171+
<cfdump var="#aDeleteBadAuth0Users#">
172+
</ft:processForm>
173+
<ft:form>
174+
<ft:buttonPanel>
175+
<ft:button value="Delete Bad Accounts" onclick="if (!confirm('Are you sure you want to delete bad accounts on auth0?')) return false;"/>
163176
</ft:buttonPanel>
164177
</ft:form>
165178

0 commit comments

Comments
 (0)