feat(server): add revealHttpAuthLiterals API and enhance web interface for credential management
- Implemented revealHttpAuthLiterals function to return plaintext credential fields from HTTP auth configurations. - Added a new endpoint in the HTTP auths API to reveal credentials securely. - Updated the web interface to fetch and display plaintext literals, improving user experience for managing credentials. - Enhanced CredentialFields component to support revealing and masking credential values dynamically.
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
getHttpAuthByName,
|
||||
upsertHttpAuth,
|
||||
deleteHttpAuth,
|
||||
revealHttpAuthLiterals,
|
||||
} from "../../http-auths-store.js";
|
||||
import { getHttpPageByName } from "../../http-pages-store.js";
|
||||
|
||||
@@ -17,6 +18,20 @@ export default async function httpAuthsPlugin(fastify) {
|
||||
return { auths: await listHttpAuths() };
|
||||
});
|
||||
|
||||
fastify.get("/http-auths/:name/reveal", async (req, reply) => {
|
||||
const { name } = /** @type {{ name: string }} */ (req.params);
|
||||
try {
|
||||
assertAuthName(name);
|
||||
} catch (err) {
|
||||
return reply.code(err.statusCode ?? 400).send({ error: err.message });
|
||||
}
|
||||
const revealed = await revealHttpAuthLiterals(name);
|
||||
if (!revealed) {
|
||||
return reply.code(404).send({ error: "auth not found" });
|
||||
}
|
||||
return revealed;
|
||||
});
|
||||
|
||||
fastify.get("/http-auths/:name", async (req, reply) => {
|
||||
const { name } = /** @type {{ name: string }} */ (req.params);
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user