in server/auth/types/proxy/routes.ts [33:86]
public setupRoutes() {
this.router.get(
{
path: `/auth/proxy/login`,
validate: {
query: schema.object({
nextUrl: schema.maybe(
schema.string({
validate: validateNextUrl,
})
),
}),
},
options: {
// TODO: set to false?
authRequired: 'optional',
},
},
async (context, request, response) => {
if (request.auth.isAuthenticated) {
const nextUrl =
request.query.nextUrl ||
`${this.coreSetup.http.basePath.serverBasePath}/app/opensearch-dashboards`;
response.redirected({
headers: {
location: nextUrl,
},
});
}
const loginEndpoint = this.config.proxycache?.login_endpoint;
if (loginEndpoint) {
return response.redirected({
headers: {
location: loginEndpoint,
},
});
} else {
return response.badRequest();
}
}
);
this.router.post(
{
path: `/auth/proxy/logout`,
validate: false,
},
async (context, request, response) => {
this.sessionStorageFactory.asScoped(request).clear();
return response.ok();
}
);
}