Add cookie based login authentication

- Changed POST request data structure to match
  backend requirements for set-cookie in response
  header
- Added withCredentials property to default
  axios config
- Modifying proxied response to remove 'Secure' flag
  so browser can create Cookie while running locally
- Add logout api request
- Add js-cookie package to manage browser cookies
- Update the babel preset config to include useBuiltIns,
which resolves MIME type errors when overlaying
- Disable vue-router history mode to use routher hash mode
to resolves 404 errors when refreshing certain pages. This
is expected behavior with history mode enabled. Server
configuration changes are required to support HTML5
history mode: https://router.vuejs.org/guide/essentials/history-mode.html#example-server-configurations

Signed-off-by: Yoshie Muranaka <yoshiemuranaka@gmail.com>
Signed-off-by: Derick Montague <derick.montague@ibm.com>
Change-Id: I5d43f36ef546962474b6cc8fff89564f29048fde
8 files changed
tree: e1f449f31de2d89bb0c29f11e29fbfcbab481be3
  1. public/
  2. src/
  3. tests/
  4. .browserslistrc
  5. .eslintrc.js
  6. .gitignore
  7. babel.config.js
  8. CONTRIBUTING.md
  9. jest.config.js
  10. LICENSE
  11. MAINTAINERS
  12. package-lock.json
  13. package.json
  14. postcss.config.js
  15. README.md
  16. vue.config.js
README.md

webui-vue

webui-vue is a web-based user interface for the OpenBMC firmware stack built on Vue.js.

Hold on... What happened to phosphor-webui?

phosphor-webui was built on AngularJS and AngularJS goes End of Life June 30, 2021, so this repository is hopefully its replacement. At this time, phosphor-webui still contains more features and you should consider using it.

When will this new Vue.js application reach feature parity with phosphor-webui?

The current plan is by June 2020!

Why will this application be better?

As mentioned, this application is built using Vue.js, a modern open-source Model-View-ViewModel JavaScript framework supported by an active community and strong documentation. It has been architected to allow organizations to easily update the theme to support their brand. This rewrite takes advantage of front-end development best practices and does not suffer from some of the anti-patterns that exist in phosphor-webui today.

How can I get involved?

Visit the CONTRIBUTING.md for more on how to contribute code, review some code in Gerrit, or join us in the GUI design workgroup meeting.

Project setup

npm install

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build

Run your unit tests

npm run test:unit

Lints and fixes files

npm run lint