* chore(auth) - Phaseout mjml auth server
Because:
- A separate server was required to render templates needed for storybook.
This Commit:
- Creates some bindings to abstract away process context used by FluentLocalizer.
- These bindings support running in either a nodejs process or in the browser.
Fixes: #10218
* Improve ejs install
* Put mjml-browser helper under test
* Update documentation around static storybook build.
* PR feedback
* Try relative path
* Relative paths
* Switch to curl
* PR Feedback
Because:
* When generating new recovery codes, there was no confirmation step, which might make it easy for a user to overlook the fact they should download / record their recovery codes.
This commit:
* Introduces the same dialog, which existed in the initial 2FA flow, that prompted a user for at least one recovery code as a way to validate users had recorded them.
* Introduces back end support for creating and updating recovery codes as a two step process.
* Shifts recovery code generation to cient, relocating lib/random.ts.
* Adds validation for recovery codes being updated
* Exposes recovery code length / count settings to client
* Add section about running playwrite tests to readme
Closes#9530
Because:
* We should document the basic process for new contributors.
This commit:
* Adds a new "Connecting to a local MySQL DB" section to the root project README.
Closes #No issue
- We have two clients for the auth-server API, one in `content-server/app/scripts/lib/auth` and `fxa-js-client`. The content-server one was meant to replace fxa-js-client but I didn't finish the work to get it running on nodejs.
- Extracts the content-server implementation into `fxa-auth-client`
- Wraps the implementation with shims to work with nodejs in `server.ts`
- Updates references to fxa-js-client to use fxa-auth-client
- Removes fxa-js-client
Because:
* Creating a script to aid in the conversion of entire directories or single markdown files to pdfs will reduce the amount of time spent on markdown to pdf conversion requests.
This commit:
* Provides a bash script to aid in the conversion process
* Includes the initial legal docs required for the VPN services in the directory specified in the request: "/assets/legal" for review
Closes#5718
This patch enables graphql-api server to accept an OAuth2 access token
on the graphql route.
It:
1. validates the format of the authorization header value in middleware
2. looks up the token in Redis
3. ensures the client id of the token is in the allowed clients list
4. includes the user's id and email in the 'authUser' property in
Apollo's context
5. includes the authorization header value as 'token' in Apollo's
context
Because:
* New graphql-api server doesn't exist yet.
This commit:
* Duplicates the admin-server project, with admin-server specific bits
removed.
* Links in necessary build portions to circleci.
Closes#4812
why, after all these years?
because there's a few annoying cases where the loopback
makes dev harder. When you try to test a flow from a not
local machine, like a tv, mobile device, or a saucelabs
proxy session. With localhost it's easy enough to forward
but loopback not so much
enough is enough
why: several reasons...
- to have a unified approach and pattern for:
- debugging
- fs watching for local dev
- running services in dev
- configuring services in dev
- to improve the initial clone and subsequent `npm ci` experience
- to make future work on tooling easier
1. renamed _scripts/*.sh to use kebab-case
2. linted _scripts with shellcheck
3. added _dev directory and moved pm2 json files there
4. added nps and package-scripts.js
- this allows us to do nice things like: `npm start debug firefox`
- I'd like to expand this further but it's a start
5. refactored the install scripts to make `npm install` nicer
6. renamed pm2 process names for easier control
- can use `pm2 logs auth` instead of the id
start-android is no longer needed so it was removed
along with its dependencies and replaced by adb-reverse
I removed `adr-log` in favor of running `npx adr-log` to
make `npm ci` smaller.
`concurrently` is no longer used.
The remainder were updated to their latest versions.
Because:
* It can be useful to debug multiple services at once.
This commit:
* Adds a pm2 config that starts 4 of the servers using start-dev-debug
with unique inspect ports so that they can be debugged all at the
same time.
* Updates the package.json files for these services so they don't choose
the same port.
* Documents the ports used for debugging.
* Add's an attach debug for VS Code that lets one choose which process
to debug.
The actual debuggable node invocation is buried behind a few layers of
indirection; this run script unpacks that indirection, making it really
easy to launch a debuggable content or payments server process.
Also added some docs on debugging server or test node processes.