Skip to content

Commit d5856ba

Browse files
shinytang6catarak
authored andcommitted
Remove authorization from specific routes (#642)
* fixes #569 * update listObjectsInS3ForUser * update client-side routes * update aws controller * update * redirect to /login when unlogged in
1 parent 4c46c3b commit d5856ba

File tree

7 files changed

+18
-22
lines changed

7 files changed

+18
-22
lines changed

client/components/Nav.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -478,7 +478,7 @@ class Nav extends React.PureComponent {
478478
</li>
479479
<li className="nav__dropdown-item">
480480
<Link
481-
to={`/${this.props.user.username}/assets`}
481+
to="/assets"
482482
onFocus={this.handleFocus.bind(this, 'account')}
483483
onBlur={this.handleBlur}
484484
onClick={this.setDropdown.bind(this, 'none')}
@@ -488,7 +488,7 @@ class Nav extends React.PureComponent {
488488
</li>
489489
<li className="nav__dropdown-item">
490490
<Link
491-
to={`/${this.props.user.username}/account`}
491+
to="/account"
492492
onFocus={this.handleFocus.bind(this, 'account')}
493493
onBlur={this.handleBlur}
494494
onClick={this.setDropdown.bind(this, 'none')}

client/modules/IDE/actions/assets.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,9 @@ function setAssets(assets) {
1111
};
1212
}
1313

14-
export function getAssets(username) {
14+
export function getAssets() {
1515
return (dispatch, getState) => {
16-
axios.get(`${ROOT_URL}/S3/${username}/objects`, { withCredentials: true })
16+
axios.get(`${ROOT_URL}/S3/objects`, { withCredentials: true })
1717
.then((response) => {
1818
dispatch(setAssets(response.data.assets));
1919
})

client/modules/IDE/components/AssetList.jsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import * as AssetActions from '../actions/assets';
1313
class AssetList extends React.Component {
1414
constructor(props) {
1515
super(props);
16-
this.props.getAssets(this.props.username);
16+
this.props.getAssets();
1717
}
1818

1919
getAssetsTitle() {

client/routes.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ const routes = (store) => {
4747
<Route path="/projects/:project_id" component={IDEView} />
4848
<Route path="/full/:project_id" component={FullView} />
4949
<Route path="/sketches" component={IDEView} />
50+
<Route path="/assets" component={IDEView} />
51+
<Route path="/account" component={forceToHttps(AccountView)} />
5052
<Route path="/:username/sketches/:project_id" component={IDEView} />
5153
<Route path="/:username/sketches" component={IDEView} />
52-
<Route path="/:username/assets" component={IDEView} />
53-
<Route path="/:username/account" component={forceToHttps(AccountView)} />
5454
<Route path="/about" component={IDEView} />
5555
<Route path="/feedback" component={IDEView} />
5656
</Route>

server/controllers/aws.controller.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ export function copyObjectInS3(req, res) {
109109
}
110110

111111
export function listObjectsInS3ForUser(req, res) {
112-
const { username } = req.params;
112+
const { username } = req.user;
113113
findUserByUsername(username, (user) => {
114114
const userId = user.id;
115115
const params = {

server/routes/aws.routes.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@ const router = new Router();
77
router.post('/S3/sign', isAuthenticated, AWSController.signS3);
88
router.post('/S3/copy', isAuthenticated, AWSController.copyObjectInS3);
99
router.delete('/S3/:object_key', isAuthenticated, AWSController.deleteObjectFromS3);
10-
router.get('/S3/:username/objects', AWSController.listObjectsInS3ForUser);
10+
router.get('/S3/objects', AWSController.listObjectsInS3ForUser);
1111

1212
export default router;

server/routes/server.routes.js

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,15 @@ router.get('/verify', (req, res) => {
5757
});
5858

5959
router.get('/sketches', (req, res) => {
60-
res.send(renderIndex());
60+
req.user ? res.send(renderIndex()) : res.redirect('/login');
61+
});
62+
63+
router.get('/assets', (req, res) => {
64+
req.user ? res.send(renderIndex()) : res.redirect('/login');
65+
});
66+
67+
router.get('/account', (req, res) => {
68+
req.user ? res.send(renderIndex()) : res.redirect('/login');
6169
});
6270

6371
router.get('/about', (req, res) => {
@@ -74,16 +82,4 @@ router.get('/:username/sketches', (req, res) => {
7482
));
7583
});
7684

77-
router.get('/:username/assets', (req, res) => {
78-
userExists(req.params.username, exists => (
79-
exists ? res.send(renderIndex()) : get404Sketch(html => res.send(html))
80-
));
81-
});
82-
83-
router.get('/:username/account', (req, res) => {
84-
userExists(req.params.username, exists => (
85-
exists ? res.send(renderIndex()) : get404Sketch(html => res.send(html))
86-
));
87-
});
88-
8985
export default router;

0 commit comments

Comments
 (0)