this refresh is going to be the death of me
This commit is contained in:
parent
b7e03d377b
commit
75b7b1d2f8
1 changed files with 11 additions and 6 deletions
|
@ -556,15 +556,20 @@ export async function GainTokens() {
|
|||
|
||||
// Refreshing tokens is an integral part of auth.
|
||||
export async function RefreshTokens() {
|
||||
let WellKnown = GetPDSWellKnown();
|
||||
let body = await WellKnown.then((response) => response.json());
|
||||
let header = await WellKnown.then((response) => response.headers.get("dpop-nonce"));
|
||||
await HandleError(body, header);
|
||||
let WellKnown = await GetPDSWellKnown().then((response) => response.json());
|
||||
// Fake PAR request to get the nonce.
|
||||
let State = crypto.randomUUID();
|
||||
let PKCEverifier = await CreatePKCECodeVerifier();
|
||||
let PKCEchallenge = await CreatePKCECodeChallenge(PKCEverifier);
|
||||
let PAR = PARrequest(WellKnown.pushed_authorization_request_endpoint, State, PKCEchallenge);
|
||||
let nonce = await PAR.then((response) => response.headers.get("dpop-nonce"));
|
||||
// Save nonce
|
||||
await localStorage.setItem(Variables.BlueskyNonce, nonce);
|
||||
// Create varaibles, be aware of waits because of internet.
|
||||
let DPoP = await ClientDPoPToken("POST", body.token_endpoint);
|
||||
let DPoP = await ClientDPoPToken("POST", WellKnown.token_endpoint);
|
||||
// Token refresh
|
||||
let Var = await localStorage.getItem(Variables.BlueskyRefreshToken);
|
||||
let Auth = await ReauthRequest(body.token_endpoint, Var, DPoP).then((response) => response.json());
|
||||
let Auth = await ReauthRequest(WellKnown.token_endpoint, Var, DPoP).then((response) => response.json());
|
||||
// Save the tokens and be done
|
||||
await localStorage.setItem(Variables.BlueskyAccessToken, Auth.access_token);
|
||||
await localStorage.setItem(Variables.BlueskyRefreshToken, Auth.refresh_token);
|
||||
|
|
Loading…
Add table
Reference in a new issue