summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorMichiel de Jong <michiel@unhosted.org>2012-05-11 11:05:44 +0200
committerMichiel de Jong <michiel@unhosted.org>2012-05-11 11:05:44 +0200
commit61d535984df81d5531350cd7895769793722d69e (patch)
treea66d213e59d302451dc06514f656b521ebef2bf1 /apps
parent2e309aae9786f1dffd1e7aeed969833c2db7f00b (diff)
downloadnextcloud-server-61d535984df81d5531350cd7895769793722d69e.tar.gz
nextcloud-server-61d535984df81d5531350cd7895769793722d69e.zip
clean up auth dialog
Diffstat (limited to 'apps')
-rw-r--r--apps/remoteStorage/appinfo/webfinger.php2
-rwxr-xr-xapps/remoteStorage/auth.php78
2 files changed, 28 insertions, 52 deletions
diff --git a/apps/remoteStorage/appinfo/webfinger.php b/apps/remoteStorage/appinfo/webfinger.php
index 9173ed54c9e..1cb2d45ee7a 100644
--- a/apps/remoteStorage/appinfo/webfinger.php
+++ b/apps/remoteStorage/appinfo/webfinger.php
@@ -3,6 +3,6 @@
rel="remoteStorage"
template="<?php echo WF_BASEURL; ?>/apps/remoteStorage/WebDAV.php/<?php echo WF_USER; ?>/remoteStorage/{category}/"
api="WebDAV"
- auth="<?php echo WF_BASEURL; ?>/?app=remoteStorage&getfile=auth.php/<?php echo WF_USER; ?>">
+ auth="<?php echo WF_BASEURL; ?>/?app=remoteStorage&getfile=auth.php&userid=<?php echo WF_USER; ?>">
</Link>
<?php } ?>
diff --git a/apps/remoteStorage/auth.php b/apps/remoteStorage/auth.php
index 502bfc0b33b..2fd5011d9f4 100755
--- a/apps/remoteStorage/auth.php
+++ b/apps/remoteStorage/auth.php
@@ -29,19 +29,8 @@
// Do not load FS ...
$RUNTIME_NOSETUPFS = true;
-require_once('../../lib/base.php');
-
-require_once('../../lib/user.php');
-require_once('../../lib/public/user.php');
-
-require_once('../../lib/app.php');
-require_once('../../lib/public/app.php');
-
-require_once('../../3rdparty/Sabre/DAV/Auth/IBackend.php');
-require_once('../../3rdparty/Sabre/DAV/Auth/Backend/AbstractBasic.php');
-require_once('../../lib/connector/sabre/auth.php');
-
OCP\App::checkAppEnabled('remoteStorage');
+require_once('Sabre/autoload.php');
require_once('lib_remoteStorage.php');
require_once('oauth_ro_auth.php');
@@ -49,32 +38,27 @@ ini_set('default_charset', 'UTF-8');
#ini_set('error_reporting', '');
@ob_clean();
-$path = substr($_SERVER["REQUEST_URI"], strlen($_SERVER["SCRIPT_NAME"]));
-$pathParts = explode('/', $path);
-
-if(count($pathParts) == 2 && $pathParts[0] == '') {
- //TODO: input checking. these explodes may fail to produces the desired arrays:
- $subPathParts = explode('?', $pathParts[1]);
- $ownCloudUser = $subPathParts[0];
- foreach($_GET as $k => $v) {
- if($k=='user_address'){
- $userAddress=$v;
- } else if($k=='redirect_uri'){
- $appUrlParts=explode('/', $v);
- $appUrl = $appUrlParts[2];//bit dodgy i guess
- } else if($k=='scope'){
- $categories=$v;
- }
- }
- $currUser = OCP\USER::getUser();
- if($currUser == $ownCloudUser) {
- if(isset($_POST['allow'])) {
- //TODO: check if this can be faked by editing the cookie in firebug!
- $token=OC_remoteStorage::createCategories($appUrl, $categories);
- header('Location: '.$_GET['redirect_uri'].'#access_token='.$token.'&token_type=bearer');
- } else if($existingToken = OC_remoteStorage::getTokenFor($appUrl, $categories)) {
- header('Location: '.$_GET['redirect_uri'].'#access_token='.$existingToken.'&token_type=bearer');
- } else {
+foreach($_GET as $k => $v) {
+ if($k=='userid'){
+ $userId=$v;
+ } else if($k=='redirect_uri'){
+ $appUrlParts=explode('/', $v);
+ $appUrl = $appUrlParts[2];//bit dodgy i guess
+ } else if($k=='scope'){
+ $categories=$v;
+ }
+}
+$currUser = OCP\USER::getUser();
+if($userId && $appUrl && $categories) {
+ if($currUser == $userId) {
+ if(isset($_POST['allow'])) {
+ //TODO: check if this can be faked by editing the cookie in firebug!
+ $token=OC_remoteStorage::createCategories($appUrl, $categories);
+ header('Location: '.$_GET['redirect_uri'].'#access_token='.$token.'&token_type=bearer');
+ } else if($existingToken = OC_remoteStorage::getTokenFor($appUrl, $categories)) {
+ header('Location: '.$_GET['redirect_uri'].'#access_token='.$existingToken.'&token_type=bearer');
+ } else {
+ //params ok, logged in ok, but need to click Allow still:
?>
<!DOCTYPE html>
<html>
@@ -125,22 +109,14 @@ if(count($pathParts) == 2 && $pathParts[0] == '') {
</body>
</html>
<?php
- }
- } else {
- if((isset($_SERVER['HTTPS'])) && ($_SERVER['HTTPS'])) {
- $url = "https://";
- } else {
- $url = "http://";
- }
- $url .= $_SERVER['SERVER_NAME'];
- $url .= substr($_SERVER['SCRIPT_NAME'], 0, -strlen('apps/remoteStorage/compat.php'));
+ }//end 'need to click Allow still'
+ } else {//login not ok
if($currUser) {
- die('You are logged in as '.$currUser.' instead of '.$ownCloudUser);
+ die('You are logged in as '.$currUser.' instead of '.$userId);
} else {
header('Location: /?redirect_url='.urlencode('/apps/remoteStorage/auth.php'.$_SERVER['PATH_INFO'].'?'.$_SERVER['QUERY_STRING']));
}
}
-} else {
- //die('please use auth.php/username?params. '.var_export($pathParts, true));
- die('please use auth.php/username?params.');
+} else {//params not ok
+ die('please use e.g. /?app=remoteStorage&getfile=auth.php&userid=admin');
}