aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/lib/Lib/Auth/OAuth2/OAuth2.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/lib/Lib/Auth/OAuth2/OAuth2.php')
-rw-r--r--apps/files_external/lib/Lib/Auth/OAuth2/OAuth2.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/apps/files_external/lib/Lib/Auth/OAuth2/OAuth2.php b/apps/files_external/lib/Lib/Auth/OAuth2/OAuth2.php
new file mode 100644
index 00000000000..beaf73c2344
--- /dev/null
+++ b/apps/files_external/lib/Lib/Auth/OAuth2/OAuth2.php
@@ -0,0 +1,37 @@
+<?php
+
+/**
+ * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-FileCopyrightText: 2016 ownCloud, Inc.
+ * SPDX-License-Identifier: AGPL-3.0-only
+ */
+namespace OCA\Files_External\Lib\Auth\OAuth2;
+
+use OCA\Files_External\Lib\Auth\AuthMechanism;
+use OCA\Files_External\Lib\DefinitionParameter;
+use OCP\IL10N;
+
+/**
+ * OAuth2 authentication
+ */
+class OAuth2 extends AuthMechanism {
+ public function __construct(IL10N $l) {
+ $this
+ ->setIdentifier('oauth2::oauth2')
+ ->setScheme(self::SCHEME_OAUTH2)
+ ->setText($l->t('OAuth2'))
+ ->addParameters([
+ (new DefinitionParameter('configured', 'configured'))
+ ->setType(DefinitionParameter::VALUE_TEXT)
+ ->setFlag(DefinitionParameter::FLAG_HIDDEN),
+ new DefinitionParameter('client_id', $l->t('Client ID')),
+ (new DefinitionParameter('client_secret', $l->t('Client secret')))
+ ->setType(DefinitionParameter::VALUE_PASSWORD),
+ (new DefinitionParameter('token', 'token'))
+ ->setType(DefinitionParameter::VALUE_PASSWORD)
+ ->setFlag(DefinitionParameter::FLAG_HIDDEN),
+ ])
+ ->addCustomJs('oauth2')
+ ;
+ }
+}