You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

authpicker.php 3.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. /**
  3. * @copyright Copyright (c) 2017 Lukas Reschke <lukas@statuscode.ch>
  4. *
  5. * @license GNU AGPL version 3 or any later version
  6. *
  7. * This program is free software: you can redistribute it and/or modify
  8. * it under the terms of the GNU Affero General Public License as
  9. * published by the Free Software Foundation, either version 3 of the
  10. * License, or (at your option) any later version.
  11. *
  12. * This program is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. * GNU Affero General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Affero General Public License
  18. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. *
  20. */
  21. script('core', 'login/authpicker');
  22. style('core', 'login/authpicker');
  23. /** @var array $_ */
  24. /** @var \OCP\IURLGenerator $urlGenerator */
  25. $urlGenerator = $_['urlGenerator'];
  26. ?>
  27. <div class="picker-window">
  28. <h2><?php p($l->t('Connect to your account')) ?></h2>
  29. <p class="info">
  30. <?php print_unescaped($l->t('Please log in before granting %1$s access to your %2$s account.', [
  31. '<strong>' . \OCP\Util::sanitizeHTML($_['client']) . '</strong>',
  32. \OCP\Util::sanitizeHTML($_['instanceName'])
  33. ])) ?>
  34. </p>
  35. <div class="notecard warning">
  36. <h3><?php p($l->t('Security warning')) ?></h3>
  37. <p>
  38. <?php p($l->t('If you are not trying to set up a new device or app, someone is trying to trick you into granting them access to your data. In this case do not proceed and instead contact your system administrator.')) ?>
  39. </p>
  40. </div>
  41. <br/>
  42. <p id="redirect-link">
  43. <form id="login-form" action="<?php p($urlGenerator->linkToRoute('core.ClientFlowLogin.grantPage', ['stateToken' => $_['stateToken'], 'clientIdentifier' => $_['clientIdentifier'], 'oauthState' => $_['oauthState'], 'user' => $_['user'], 'direct' => $_['direct']])) ?>" method="get">
  44. <input type="submit" class="login primary icon-confirm-white" value="<?php p($l->t('Log in')) ?>" disabled>
  45. </form>
  46. </p>
  47. <form action="<?php p($urlGenerator->linkToRouteAbsolute('core.ClientFlowLogin.apptokenRedirect')); ?>" method="post" id="app-token-login-field" class="hidden">
  48. <p class="grouptop">
  49. <input type="text" name="user" id="user" placeholder="<?php p($l->t('Login')) ?>">
  50. <label for="user" class="infield"><?php p($l->t('Login')) ?></label>
  51. </p>
  52. <p class="groupbottom">
  53. <input type="password" name="password" id="password" placeholder="<?php p($l->t('App password')) ?>">
  54. <label for="password" class="infield"><?php p($l->t('Password')) ?></label>
  55. </p>
  56. <input type="hidden" name="stateToken" value="<?php p($_['stateToken']) ?>" />
  57. <input type="hidden" name="requesttoken" value="<?php p($_['requesttoken']) ?>">
  58. <?php if ($_['direct'] !== 0) { ?>
  59. <input type="hidden" name="direct" value="<?php p($_['direct']) ?>">
  60. <?php } ?>
  61. <input id="submit-app-token-login" type="submit" class="login primary icon-confirm-white" value="<?php p($l->t('Grant access')) ?>">
  62. </form>
  63. <?php if (empty($_['oauthState'])): ?>
  64. <a id="app-token-login" class="apptoken-link" href="#"><?php p($l->t('Alternative log in using app password')) ?></a>
  65. <?php endif; ?>
  66. </div>