From d5856ba923d44965742eaa7f37b4418935fe621c Mon Sep 17 00:00:00 2001
From: Liang Tang <1074461480@qq.com>
Date: Wed, 30 May 2018 12:37:10 +0800
Subject: [PATCH] Remove authorization from specific routes (#642)
* fixes #569
* update listObjectsInS3ForUser
* update client-side routes
* update aws controller
* update
* redirect to /login when unlogged in
---
client/components/Nav.jsx | 4 ++--
client/modules/IDE/actions/assets.js | 4 ++--
client/modules/IDE/components/AssetList.jsx | 2 +-
client/routes.jsx | 4 ++--
server/controllers/aws.controller.js | 2 +-
server/routes/aws.routes.js | 2 +-
server/routes/server.routes.js | 22 +++++++++------------
7 files changed, 18 insertions(+), 22 deletions(-)
diff --git a/client/components/Nav.jsx b/client/components/Nav.jsx
index 3b4f947f..154d9695 100644
--- a/client/components/Nav.jsx
+++ b/client/components/Nav.jsx
@@ -478,7 +478,7 @@ class Nav extends React.PureComponent {
{
- axios.get(`${ROOT_URL}/S3/${username}/objects`, { withCredentials: true })
+ axios.get(`${ROOT_URL}/S3/objects`, { withCredentials: true })
.then((response) => {
dispatch(setAssets(response.data.assets));
})
diff --git a/client/modules/IDE/components/AssetList.jsx b/client/modules/IDE/components/AssetList.jsx
index accc0c98..42513fba 100644
--- a/client/modules/IDE/components/AssetList.jsx
+++ b/client/modules/IDE/components/AssetList.jsx
@@ -13,7 +13,7 @@ import * as AssetActions from '../actions/assets';
class AssetList extends React.Component {
constructor(props) {
super(props);
- this.props.getAssets(this.props.username);
+ this.props.getAssets();
}
getAssetsTitle() {
diff --git a/client/routes.jsx b/client/routes.jsx
index ff1fb5f2..f7d379a6 100644
--- a/client/routes.jsx
+++ b/client/routes.jsx
@@ -47,10 +47,10 @@ const routes = (store) => {
+
+
-
-
diff --git a/server/controllers/aws.controller.js b/server/controllers/aws.controller.js
index d41c236e..09c1480e 100644
--- a/server/controllers/aws.controller.js
+++ b/server/controllers/aws.controller.js
@@ -109,7 +109,7 @@ export function copyObjectInS3(req, res) {
}
export function listObjectsInS3ForUser(req, res) {
- const { username } = req.params;
+ const { username } = req.user;
findUserByUsername(username, (user) => {
const userId = user.id;
const params = {
diff --git a/server/routes/aws.routes.js b/server/routes/aws.routes.js
index 6367f32c..0bda0f8b 100644
--- a/server/routes/aws.routes.js
+++ b/server/routes/aws.routes.js
@@ -7,6 +7,6 @@ const router = new Router();
router.post('/S3/sign', isAuthenticated, AWSController.signS3);
router.post('/S3/copy', isAuthenticated, AWSController.copyObjectInS3);
router.delete('/S3/:object_key', isAuthenticated, AWSController.deleteObjectFromS3);
-router.get('/S3/:username/objects', AWSController.listObjectsInS3ForUser);
+router.get('/S3/objects', AWSController.listObjectsInS3ForUser);
export default router;
diff --git a/server/routes/server.routes.js b/server/routes/server.routes.js
index b0d9eade..d7e19077 100644
--- a/server/routes/server.routes.js
+++ b/server/routes/server.routes.js
@@ -57,7 +57,15 @@ router.get('/verify', (req, res) => {
});
router.get('/sketches', (req, res) => {
- res.send(renderIndex());
+ req.user ? res.send(renderIndex()) : res.redirect('/login');
+});
+
+router.get('/assets', (req, res) => {
+ req.user ? res.send(renderIndex()) : res.redirect('/login');
+});
+
+router.get('/account', (req, res) => {
+ req.user ? res.send(renderIndex()) : res.redirect('/login');
});
router.get('/about', (req, res) => {
@@ -74,16 +82,4 @@ router.get('/:username/sketches', (req, res) => {
));
});
-router.get('/:username/assets', (req, res) => {
- userExists(req.params.username, exists => (
- exists ? res.send(renderIndex()) : get404Sketch(html => res.send(html))
- ));
-});
-
-router.get('/:username/account', (req, res) => {
- userExists(req.params.username, exists => (
- exists ? res.send(renderIndex()) : get404Sketch(html => res.send(html))
- ));
-});
-
export default router;