minio/browser
Brendan Ashworth ec5293ce29 jwt,browser: allow short-expiry tokens for GETs (#4684)
This commit fixes a potential security issue, whereby a full-access
token to the server would be available in the GET URL of a download
request. This fixes that issue by introducing short-expiry tokens, which
are only valid for one minute, and are regenerated for every download
request.

This commit specifically introduces the short-lived tokens, adds tests
for the tokens, adds an RPC call for generating a token given a
full-access token, updates the browser to use the new tokens for
requests where the token is passed as a GET parameter, and adds some
tests with the new temporary tokens.

Refs: https://github.com/minio/minio/pull/4673
2017-07-24 12:46:37 -07:00
..
app jwt,browser: allow short-expiry tokens for GETs (#4684) 2017-07-24 12:46:37 -07:00
.babelrc Browser: Use polyfill to support Object.assign in IE11 (#3942) 2017-03-21 13:48:07 -07:00
.editorconfig miniobrowser: Bring Minio browser source into minio repo. (#3617) 2017-01-23 18:07:22 -08:00
.esformatter miniobrowser: Bring Minio browser source into minio repo. (#3617) 2017-01-23 18:07:22 -08:00
.gitignore browser: add yarn.lock and .gitignore files. (#3621) 2017-01-24 11:56:30 -08:00
build.js browser: Update ui-assets and fix the copyright header. (#3790) 2017-02-22 17:27:26 -08:00
karma.conf.js miniobrowser: Bring Minio browser source into minio repo. (#3617) 2017-01-23 18:07:22 -08:00
package.json Browser: Use babel-polyfill to support new ES6 built-ins in older browsers (#3900) 2017-03-14 15:02:20 -07:00
README.md Prevent duplicate policy rows from being created (#4276) 2017-05-10 09:52:31 -07:00
tests.webpack.js miniobrowser: Bring Minio browser source into minio repo. (#3617) 2017-01-23 18:07:22 -08:00
ui-assets.go browser: update ui-assets with new changes. (#4595) 2017-06-25 18:09:24 -07:00
webpack.config.js Browser: Use polyfill to support Object.assign in IE11 (#3942) 2017-03-21 13:48:07 -07:00
webpack.production.config.js miniobrowser: Bring Minio browser source into minio repo. (#3617) 2017-01-23 18:07:22 -08:00
yarn.lock browser: update ui-assets with new changes. (#4595) 2017-06-25 18:09:24 -07:00

Minio File Browser

Minio Browser provides minimal set of UI to manage buckets and objects on minio server. Minio Browser is written in javascript and released under Apache 2.0 License.

Installation

Install yarn

curl -o- -L https://yarnpkg.com/install.sh | bash
yarn

Install go-bindata and go-bindata-assetfs

If you do not have a working Golang environment, please follow Install Golang

go get github.com/jteeuwen/go-bindata/...
go get github.com/elazarl/go-bindata-assetfs/...

Generating Assets

Generate ui-assets.go

yarn release

This generates ui-assets.go in the current directory. Now do make in the parent directory to build the minio binary with the newly generated ui-assets.go

Run Minio Browser with live reload

yarn dev

Open http://localhost:8080/minio/ in your browser to play with the application

Run Minio Browser with live reload on custom port

Edit browser/webpack.config.js

diff --git a/browser/webpack.config.js b/browser/webpack.config.js
index 3ccdaba..9496c56 100644
--- a/browser/webpack.config.js
+++ b/browser/webpack.config.js
@@ -58,6 +58,7 @@ var exports = {
     historyApiFallback: {
       index: '/minio/'
     },
+    port: 8888,
     proxy: {
       '/minio/webrpc': {
        target: 'http://localhost:9000',
@@ -97,7 +98,7 @@ var exports = {
 if (process.env.NODE_ENV === 'dev') {
   exports.entry = [
     'webpack/hot/dev-server',
-    'webpack-dev-server/client?http://localhost:8080',
+    'webpack-dev-server/client?http://localhost:8888',
     path.resolve(__dirname, 'app/index.js')
   ]
 }
yarn dev

Open http://localhost:8888/minio/ in your browser to play with the application