feat: create default get cookie endpoint
Signed-off-by: Camila Belo <camilaibs@gmail.com>
This commit is contained in:
committed by
Patrik Oldsberg
parent
a8c7b0da6a
commit
7b77befdfb
+8
@@ -84,6 +84,14 @@ export const httpRouterServiceFactory = createServiceFactory(
|
||||
},
|
||||
addAuthPolicy(policy: HttpRouterServiceAuthPolicy): void {
|
||||
credentialsBarrier.addAuthPolicy(policy);
|
||||
if (policy.allow === 'user-cookie') {
|
||||
// Endpoint that sets the cookie for the user
|
||||
// TODO: Extract this to a separate createCookieAuthRefreshMiddleware function
|
||||
router.get('/.backstage/v1-cookie', async (_, res) => {
|
||||
const { expiresAt } = await httpAuth.issueUserCookie(res);
|
||||
res.json({ expiresAt: expiresAt.toISOString() });
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
@@ -31,13 +31,13 @@ import { ResponseError } from '@backstage/errors';
|
||||
export function useCookieAuthRefresh(options: {
|
||||
// The plugin id used for discovering the API origin
|
||||
pluginId: string;
|
||||
// The path used for calling the refresh cookie endpoint, default to '/cookie'
|
||||
// The path used for calling the refresh cookie endpoint, default to '/.backstage/v1-cookie'
|
||||
path?: string;
|
||||
}):
|
||||
| { status: 'loading' }
|
||||
| { status: 'error'; error: Error; retry: () => void }
|
||||
| { status: 'success'; data: { expiresAt: string } } {
|
||||
const { pluginId, path = '/cookie' } = options ?? {};
|
||||
const { pluginId, path = '/.backstage/v1-cookie' } = options ?? {};
|
||||
const fetchApi = useApi(fetchApiRef);
|
||||
const discoveryApi = useApi(discoveryApiRef);
|
||||
|
||||
|
||||
@@ -322,12 +322,6 @@ export async function createRouter(
|
||||
// Route middleware which serves files from the storage set in the publisher.
|
||||
router.use('/static/docs', publisher.docsRouter());
|
||||
|
||||
// Endpoint that sets the cookie for the user
|
||||
router.get('/cookie', async (_, res) => {
|
||||
const { expiresAt } = await httpAuth.issueUserCookie(res);
|
||||
res.json({ expiresAt: expiresAt.toISOString() });
|
||||
});
|
||||
|
||||
return router;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user