diff --git a/resources/celerity/map.php b/resources/celerity/map.php --- a/resources/celerity/map.php +++ b/resources/celerity/map.php @@ -162,7 +162,7 @@ 'rsrc/css/phui/workboards/phui-workboard.css' => 'e6d89647', 'rsrc/css/phui/workboards/phui-workcard.css' => '0c62d7c5', 'rsrc/css/phui/workboards/phui-workpanel.css' => '92197373', - 'rsrc/css/sprite-login.css' => '60e8560e', + 'rsrc/css/sprite-login.css' => 'b7f9f4b4', 'rsrc/css/sprite-menu.css' => '9dd65b92', 'rsrc/css/sprite-tokens.css' => '9cdfd599', 'rsrc/css/syntax/syntax-default.css' => '9923583c', @@ -362,7 +362,6 @@ 'rsrc/js/application/aphlict/behavior-aphlict-listen.js' => 'fb20ac8d', 'rsrc/js/application/aphlict/behavior-aphlict-status.js' => 'ea681761', 'rsrc/js/application/aphlict/behavior-desktop-notifications-control.js' => 'edd1ba66', - 'rsrc/js/application/auth/behavior-persona-login.js' => '9414ff18', 'rsrc/js/application/calendar/behavior-day-view.js' => '4b3c4443', 'rsrc/js/application/calendar/behavior-event-all-day.js' => '937bb700', 'rsrc/js/application/calendar/behavior-month-view.js' => 'fe33e256', @@ -650,7 +649,6 @@ 'javelin-behavior-maniphest-subpriority-editor' => '71237763', 'javelin-behavior-owners-path-editor' => '7a68dda3', 'javelin-behavior-passphrase-credential-control' => '3cb0b2fc', - 'javelin-behavior-persona-login' => '9414ff18', 'javelin-behavior-phabricator-active-nav' => 'e379b58e', 'javelin-behavior-phabricator-autofocus' => '7319e029', 'javelin-behavior-phabricator-busy-example' => '60479091', @@ -890,7 +888,7 @@ 'releeph-request-differential-create-dialog' => '8d8b92cd', 'releeph-request-typeahead-css' => '667a48ae', 'setup-issue-css' => 'db7e9c40', - 'sprite-login-css' => '60e8560e', + 'sprite-login-css' => 'b7f9f4b4', 'sprite-menu-css' => '9dd65b92', 'sprite-tokens-css' => '9cdfd599', 'syntax-default-css' => '9923583c', @@ -1639,13 +1637,6 @@ 'javelin-workflow', 'javelin-dom', ), - '9414ff18' => array( - 'javelin-behavior', - 'javelin-resource', - 'javelin-stratcom', - 'javelin-workflow', - 'javelin-util', - ), '949c0fe5' => array( 'javelin-install', ), diff --git a/resources/sprite/login_1x/Persona.png b/resources/sprite/login_1x/Persona.png deleted file mode 100644 index 64523ecfb50e13b640644ab9270155977b27061e..0000000000000000000000000000000000000000 GIT binary patch literal 0 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 'applications/people/typeahead/PhabricatorPeopleUserFunctionDatasource.php', 'PhabricatorPeopleUserPHIDType' => 'applications/people/phid/PhabricatorPeopleUserPHIDType.php', 'PhabricatorPeopleWelcomeController' => 'applications/people/controller/PhabricatorPeopleWelcomeController.php', - 'PhabricatorPersonaAuthProvider' => 'applications/auth/provider/PhabricatorPersonaAuthProvider.php', 'PhabricatorPhabricatorAuthProvider' => 'applications/auth/provider/PhabricatorPhabricatorAuthProvider.php', 'PhabricatorPhameApplication' => 'applications/phame/application/PhabricatorPhameApplication.php', 'PhabricatorPhameBlogPHIDType' => 'applications/phame/phid/PhabricatorPhameBlogPHIDType.php', @@ -8008,7 +8007,6 @@ 'PhabricatorPeopleUserFunctionDatasource' => 'PhabricatorTypeaheadCompositeDatasource', 'PhabricatorPeopleUserPHIDType' => 'PhabricatorPHIDType', 'PhabricatorPeopleWelcomeController' => 'PhabricatorPeopleController', - 'PhabricatorPersonaAuthProvider' => 'PhabricatorAuthProvider', 'PhabricatorPhabricatorAuthProvider' => 'PhabricatorOAuth2AuthProvider', 'PhabricatorPhameApplication' => 'PhabricatorApplication', 'PhabricatorPhameBlogPHIDType' => 'PhabricatorPHIDType', diff --git a/src/applications/auth/provider/PhabricatorPersonaAuthProvider.php b/src/applications/auth/provider/PhabricatorPersonaAuthProvider.php deleted file mode 100644 --- a/src/applications/auth/provider/PhabricatorPersonaAuthProvider.php +++ /dev/null @@ -1,81 +0,0 @@ -adapter) { - $adapter = new PhutilPersonaAuthAdapter(); - $this->adapter = $adapter; - } - return $this->adapter; - } - - protected function renderLoginForm( - AphrontRequest $request, - $mode) { - - Javelin::initBehavior( - 'persona-login', - array( - 'loginURI' => PhabricatorEnv::getURI($this->getLoginURI()), - )); - - return $this->renderStandardLoginButton( - $request, - $mode, - array( - 'uri' => $this->getLoginURI(), - 'sigil' => 'persona-login-form', - )); - } - - public function isLoginFormAButton() { - return true; - } - - public function processLoginRequest( - PhabricatorAuthLoginController $controller) { - - $request = $controller->getRequest(); - $adapter = $this->getAdapter(); - - $account = null; - $response = null; - - if (!$request->isAjax()) { - throw new Exception(pht('Expected this request to come via Ajax.')); - } - - $assertion = $request->getStr('assertion'); - if (!$assertion) { - throw new Exception(pht('Expected identity assertion.')); - } - - $adapter->setAssertion($assertion); - $adapter->setAudience(PhabricatorEnv::getURI('/')); - - try { - $account_id = $adapter->getAccountID(); - } catch (Exception $ex) { - // TODO: Handle this in a more user-friendly way. - throw $ex; - } - - return array($this->loadOrCreateAccount($account_id), $response); - } - - protected function getLoginIcon() { - return 'Persona'; - } - -} diff --git a/webroot/rsrc/css/sprite-login.css b/webroot/rsrc/css/sprite-login.css --- a/webroot/rsrc/css/sprite-login.css +++ b/webroot/rsrc/css/sprite-login.css @@ -83,10 +83,6 @@ background-position: 0px -87px; } -.login-Persona { - background-position: -29px -87px; -} - .login-Phabricator { background-position: -58px -87px; } diff --git a/webroot/rsrc/js/application/auth/behavior-persona-login.js b/webroot/rsrc/js/application/auth/behavior-persona-login.js deleted file mode 100644 --- a/webroot/rsrc/js/application/auth/behavior-persona-login.js +++ /dev/null @@ -1,41 +0,0 @@ -/** - * @provides javelin-behavior-persona-login - * @requires javelin-behavior - * javelin-resource - * javelin-stratcom - * javelin-workflow - * javelin-util - */ - -JX.behavior('persona-login', function(config) { - - JX.Stratcom.listen( - 'submit', - 'persona-login-form', - function(e) { - e.kill(); - navigator.id.request(); - }); - - var onloaded = function() { - // Before installing watch(), log the user out, because we know they don't - // have a valid session if they're hitting this page. If we don't do this, - // Persona may immediately trigger a login event, which prevents the user - // from selecting another authentication mechanism. - navigator.id.logout(); - - navigator.id.watch({ - loggedInUser: null, - onlogin: onlogin, - onlogout: JX.bag - }); - }; - - var onlogin = function(assertion) { - new JX.Workflow(config.loginURI, {assertion: assertion}) - .start(); - }; - - var persona_library = 'https://login.persona.org/include.js'; - JX.Resource.load(persona_library, onloaded); -});