Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/phabricator
Path: blob/master/src/applications/auth/management/PhabricatorAuthManagementUntrustOAuthClientWorkflow.php
12256 views
1
<?php
2
3
final class PhabricatorAuthManagementUntrustOAuthClientWorkflow
4
extends PhabricatorAuthManagementWorkflow {
5
6
protected function didConstruct() {
7
$this
8
->setName('untrust-oauth-client')
9
->setExamples('**untrust-oauth-client** [--id client_id]')
10
->setSynopsis(
11
pht(
12
'Remove trust from an OAuth client. Users must manually confirm '.
13
'reauthorization of untrusted OAuth clients.'))
14
->setArguments(
15
array(
16
array(
17
'name' => 'id',
18
'param' => 'id',
19
'help' => pht('The id of the OAuth client.'),
20
),
21
));
22
}
23
24
public function execute(PhutilArgumentParser $args) {
25
$id = $args->getArg('id');
26
27
if (!$id) {
28
throw new PhutilArgumentUsageException(
29
pht(
30
'Specify an OAuth client ID with %s.',
31
'--id'));
32
}
33
34
$client = id(new PhabricatorOAuthServerClientQuery())
35
->setViewer($this->getViewer())
36
->withIDs(array($id))
37
->executeOne();
38
39
if (!$client) {
40
throw new PhutilArgumentUsageException(
41
pht(
42
'Failed to find an OAuth client with ID %s.', $id));
43
}
44
45
if (!$client->getIsTrusted()) {
46
throw new PhutilArgumentUsageException(
47
pht(
48
'OAuth client "%s" is already untrusted.',
49
$client->getName()));
50
}
51
52
$client->setIsTrusted(0);
53
$client->save();
54
55
$console = PhutilConsole::getConsole();
56
$console->writeOut(
57
"%s\n",
58
pht(
59
'OAuth client "%s" is now trusted.',
60
$client->getName()));
61
}
62
63
}
64
65