Thanks! I used your work to update my version just now:
I made one change to your new ensureToken
. Instead of:
ensureToken(regenerate = false) {
if (!regenerate && this.getToken()) return;
I use:
ensureToken(regenerate = false) {
if (!regenerate && this.getToken() && this.getToken().value !== '') return;
The third clause is necessary since after authentication, the response from https://observablehq.com/loggedin
has a set-cookie
header which reads set-cookie: T=; Max-Age=0; Domain=.observablehq.com; HttpOnly; Path=/; Secure
.
Edit: updated per @mootari’s comment below.