[CHORE] Implement RedirectURIs
Some checks failed
S3 Repo Backup / s3-repo-backup (push) Failing after 1s
Deploy Edge / deploy-edge (push) Failing after 8s

This commit is contained in:
Dunemask 2024-08-24 16:51:30 -06:00
parent 0fc5f05b6a
commit fdb19be2ef
12 changed files with 91 additions and 33 deletions

View file

@ -36,13 +36,13 @@ export default class AuthController extends VixpressController {
if (projectKeyPairs.length !== 1) throw ProjectErrors.BadRequestProjectIncomplete;
const token = await getUserToken(user.id, user.project.keyPairs[0].encryptedPrivateKey);
const policies = user.rolePolicy.policies;
const userData: CDatabaseContract["User"] = { username: user.username, rolePolicyId: user.rolePolicyId };
return { token, user: userData, policies };
const usr: CDatabaseContract["User"] = { id: user.id, username: user.username, rolePolicyId: user.rolePolicyId };
return { token, user: usr, policies };
}
async credentials(crc: ContractRouteContext): Promise<CAuthContract["Credentials"]> {
const { user, policies } = crc.req as UserRequest;
const userData: CDatabaseContract["User"] = { username: user.username, rolePolicyId: user.rolePolicyId };
return { user: userData, policies: ResourcePolicy.asStrings(policies) };
const usr: CDatabaseContract["User"] = { id: user.id, username: user.username, rolePolicyId: user.rolePolicyId };
return { user: usr, policies: ResourcePolicy.asStrings(policies) };
}
}

View file

@ -41,8 +41,8 @@ export default class ProjectController extends VixpressController {
const kp = await this.pg.keypair.byUsage(proj.id, KeyPairType.UserToken);
if (!kp) throw ProjectErrors.BadRequestProjectIncomplete;
if (!user) throw ProjectErrors.UnexpectedRootUserError;
const userData: CDatabaseContract["User"] = { username: user.username, rolePolicyId: user.rolePolicyId };
const usr: CDatabaseContract["User"] = { id: user.id, username: user.username, rolePolicyId: user.rolePolicyId };
const publicKey = await decrypt(kp.encryptedPublicKey, config.SigningOptions.Keys.KeyPair);
return { user: userData, project: proj, publicKey };
return { user: usr, project: proj, publicKey };
}
}