Path: blob/master/src/applications/auth/application/PhabricatorAuthApplication.php
12256 views
<?php12final class PhabricatorAuthApplication extends PhabricatorApplication {34public function canUninstall() {5return false;6}78public function getBaseURI() {9return '/auth/';10}1112public function getIcon() {13return 'fa-key';14}1516public function isPinnedByDefault(PhabricatorUser $viewer) {17return $viewer->getIsAdmin();18}1920public function getName() {21return pht('Auth');22}2324public function getShortDescription() {25return pht('Login/Registration');26}2728public function getHelpDocumentationArticles(PhabricatorUser $viewer) {29// NOTE: Although reasonable help exists for this in "Configuring Accounts30// and Registration", specifying help items here means we get the menu31// item in all the login/link interfaces, which is confusing and not32// helpful.3334// TODO: Special case this, or split the auth and auth administration35// applications?3637return array();38}3940public function getApplicationGroup() {41return self::GROUP_ADMIN;42}4344public function getRoutes() {45return array(46'/auth/' => array(47'' => 'PhabricatorAuthListController',48'config/' => array(49'new/' => 'PhabricatorAuthNewController',50'edit/(?:(?P<id>\d+)/)?' => 'PhabricatorAuthEditController',51'(?P<action>enable|disable)/(?P<id>\d+)/'52=> 'PhabricatorAuthDisableController',53'view/(?P<id>\d+)/' => 'PhabricatorAuthProviderViewController',54),55'login/(?P<pkey>[^/]+)/(?:(?P<extra>[^/]+)/)?'56=> 'PhabricatorAuthLoginController',57'(?P<loggedout>loggedout)/' => 'PhabricatorAuthStartController',58'invite/(?P<code>[^/]+)/' => 'PhabricatorAuthInviteController',59'register/(?:(?P<akey>[^/]+)/)?' => 'PhabricatorAuthRegisterController',60'start/' => 'PhabricatorAuthStartController',61'validate/' => 'PhabricatorAuthValidateController',62'finish/' => 'PhabricatorAuthFinishController',63'unlink/(?P<id>\d+)/' => 'PhabricatorAuthUnlinkController',64'(?P<action>link|refresh)/(?P<id>\d+)/'65=> 'PhabricatorAuthLinkController',66'confirmlink/(?P<akey>[^/]+)/'67=> 'PhabricatorAuthConfirmLinkController',68'session/terminate/(?P<id>[^/]+)/'69=> 'PhabricatorAuthTerminateSessionController',70'token/revoke/(?P<id>[^/]+)/'71=> 'PhabricatorAuthRevokeTokenController',72'session/downgrade/'73=> 'PhabricatorAuthDowngradeSessionController',74'enroll/' => array(75'(?:(?P<pageKey>[^/]+)/)?'76=> 'PhabricatorAuthNeedsMultiFactorController',77),78'sshkey/' => array(79$this->getQueryRoutePattern('for/(?P<forPHID>[^/]+)/')80=> 'PhabricatorAuthSSHKeyListController',81'generate/' => 'PhabricatorAuthSSHKeyGenerateController',82'upload/' => 'PhabricatorAuthSSHKeyEditController',83'edit/(?P<id>\d+)/' => 'PhabricatorAuthSSHKeyEditController',84'revoke/(?P<id>\d+)/'85=> 'PhabricatorAuthSSHKeyRevokeController',86'view/(?P<id>\d+)/' => 'PhabricatorAuthSSHKeyViewController',87),8889'password/' => 'PhabricatorAuthSetPasswordController',90'external/' => 'PhabricatorAuthSetExternalController',9192'mfa/' => array(93$this->getQueryRoutePattern() =>94'PhabricatorAuthFactorProviderListController',95$this->getEditRoutePattern('edit/') =>96'PhabricatorAuthFactorProviderEditController',97'(?P<id>[1-9]\d*)/' =>98'PhabricatorAuthFactorProviderViewController',99'message/(?P<id>[1-9]\d*)/' =>100'PhabricatorAuthFactorProviderMessageController',101'challenge/status/(?P<id>[1-9]\d*)/' =>102'PhabricatorAuthChallengeStatusController',103),104105'message/' => array(106$this->getQueryRoutePattern() =>107'PhabricatorAuthMessageListController',108$this->getEditRoutePattern('edit/') =>109'PhabricatorAuthMessageEditController',110'(?P<id>[^/]+)/' =>111'PhabricatorAuthMessageViewController',112),113114'contact/' => array(115$this->getEditRoutePattern('edit/') =>116'PhabricatorAuthContactNumberEditController',117'(?P<id>[1-9]\d*)/' =>118'PhabricatorAuthContactNumberViewController',119'(?P<action>disable|enable)/(?P<id>[1-9]\d*)/' =>120'PhabricatorAuthContactNumberDisableController',121'primary/(?P<id>[1-9]\d*)/' =>122'PhabricatorAuthContactNumberPrimaryController',123'test/(?P<id>[1-9]\d*)/' =>124'PhabricatorAuthContactNumberTestController',125),126),127128'/oauth/(?P<provider>\w+)/login/'129=> 'PhabricatorAuthOldOAuthRedirectController',130131'/login/' => array(132'' => 'PhabricatorAuthStartController',133'email/' => 'PhabricatorEmailLoginController',134'once/'.135'(?P<type>[^/]+)/'.136'(?P<id>\d+)/'.137'(?P<key>[^/]+)/'.138'(?:(?P<emailID>\d+)/)?' => 'PhabricatorAuthOneTimeLoginController',139'refresh/' => 'PhabricatorRefreshCSRFController',140'mustverify/' => 'PhabricatorMustVerifyEmailController',141),142143'/emailverify/(?P<code>[^/]+)/'144=> 'PhabricatorEmailVerificationController',145146'/logout/' => 'PhabricatorLogoutController',147);148}149150protected function getCustomCapabilities() {151return array(152AuthManageProvidersCapability::CAPABILITY => array(153'default' => PhabricatorPolicies::POLICY_ADMIN,154),155);156}157}158159160