forked from Github/frigate
Auth! (#11347)
* reload the window on 401 * backend apis for auth * add login page * re-enable web linter * fix login page routing * bypass csrf for internal auth endpoint * disable healthcheck in devcontainer target * include login page in vite build * redirect to login page on 401 * implement config for users and settings * implement JWT actual secret * add brute force protection on login * add support for redirecting from auth failures on api calls * return location for redirect * default cookie name should pass regex test * set hash iterations to current OWASP recommendation * move users to database instead of config * config option to reset admin password on startup * user management UI * check for deleted user on refresh * validate username and fixes * remove password constraint * cleanup * fix user check on refresh * web fixes * implement auth via new external port * use x-forwarded-for to rate limit login attempts by ip * implement logout and profile * fixes * lint fixes * add support for user passthru from upstream proxies * add support for specifying a logout url * add documentation * Update docs/docs/configuration/authentication.md Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com> * Update docs/docs/configuration/authentication.md Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com> --------- Co-authored-by: Nicolas Mowen <nickmowen213@gmail.com>
This commit is contained in:
@@ -24,6 +24,12 @@ export function ApiProvider({ children, options }: ApiProviderType) {
|
||||
const [path, params] = Array.isArray(key) ? key : [key, undefined];
|
||||
return axios.get(path, { params }).then((res) => res.data);
|
||||
},
|
||||
onError: (error, _key) => {
|
||||
if ([401, 302, 307].includes(error.response.status)) {
|
||||
window.location.href =
|
||||
error.response.headers.get("location") ?? "login";
|
||||
}
|
||||
},
|
||||
...options,
|
||||
}}
|
||||
>
|
||||
@@ -40,6 +46,7 @@ function WsWithConfig({ children }: WsWithConfigType) {
|
||||
return <WsProvider>{children}</WsProvider>;
|
||||
}
|
||||
|
||||
// eslint-disable-next-line react-refresh/only-export-components
|
||||
export function useApiHost() {
|
||||
return baseUrl;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user