fxa/packages/fxa-support-panel
Danny Coates d4da8a3606
feat(docker): created fxa-builder docker image
This adds a base node image and builder image so
that all our service images can share the same
common base, be smaller, and require less customization.
2020-04-22 16:27:22 -07:00
..
.vscode feat: add vscode tasks for running tests and debugger 2019-10-01 17:27:41 -07:00
bin docs(support-panel): add README and JSDoc 2019-12-19 09:42:43 -08:00
config refactor(config): replace 127.0.0.1 with localhost 2020-04-15 13:55:42 -07:00
lib feat(payment-server): mobile payments flow for fpn 2020-04-09 20:30:21 +00:00
test/lib feat(payment-server): mobile payments flow for fpn 2020-04-09 20:30:21 +00:00
types fix(support-panel): add CSP frame-ancestors 2019-08-09 17:03:25 -05:00
.nsprc chore(deps): Updates to address nsp advisory 1179 2020-03-19 10:42:24 -07:00
.prettierrc chore(package): give prettier the same config as other packages 2019-08-16 11:56:24 +01:00
CHANGELOG.md Release 1.167.1 2020-04-17 13:52:53 -07:00
Dockerfile feat(docker): created fxa-builder docker image 2020-04-22 16:27:22 -07:00
README.md docs(support-panel): add README and JSDoc 2019-12-19 09:42:43 -08:00
package-lock.json Release 1.167.1 2020-04-17 13:52:53 -07:00
package.json Release 1.167.1 2020-04-17 13:52:53 -07:00
pm2.config.js refactor(pm2): restructure our pm2 configs 2020-04-14 14:38:38 -07:00
tsconfig.json refactor(support-panel): update deps, cleanup 2019-11-11 11:41:47 -08:00
tslint.json chore(hooks): turn on prettier hook for typescript 2019-08-16 12:10:44 +01:00

README.md

fxa-support-panel

The Firefox Accounts Support Panel is a small web service that is intended for use as an embedded iframe in the Zendesk Support UX. It's intended to show Subscription Support Agents relevant data about a users Firefox Account so that they may assist the users support request.

Software Architecture

The primary source of truth on FxA user data is the fxa-auth-server. That service is configured to use OAuth for user and service access to account data, and has write access to the user data. Since this view is intended purely for read-only access to user data for assisting a support agent, this service instead queries a read-restricted version of the fxa-auth-db-mysql service (fxa-auth-server uses a full read/write fxa-auth-db-mysql service).

Read-only access is enforced on the database by using a MySQL user restricted to the stored procedures needed to run the queries that fetch basic profile information.

Code Organization

  • bin/ - Program directory (Note the runnable versions will be under dist/ when compiled)
    • worker - Primary entry point for running the support-panel in production.
  • config/ - Configuration loader and .json files for runtime environments.
  • lib/
    • api - Hapi routes and controller.
    • server - Hapi server setup and CSP configuration for above api.
  • test - Unit tests, organized in matching heirarchy with the root supprt-panel directory.
  • types - Additional TypeScript definitions for dependencies missing type information.