mirror of
				https://github.com/blakeblackshear/frigate.git
				synced 2025-10-27 10:52:11 +01:00 
			
		
		
		
	* 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>
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| """Peewee migrations -- 025_create_user_table.py.
 | |
| 
 | |
| Some examples (model - class or model name)::
 | |
| 
 | |
|     > Model = migrator.orm['model_name']            # Return model in current state by name
 | |
| 
 | |
|     > migrator.sql(sql)                             # Run custom SQL
 | |
|     > migrator.python(func, *args, **kwargs)        # Run python code
 | |
|     > migrator.create_model(Model)                  # Create a model (could be used as decorator)
 | |
|     > migrator.remove_model(model, cascade=True)    # Remove a model
 | |
|     > migrator.add_fields(model, **fields)          # Add fields to a model
 | |
|     > migrator.change_fields(model, **fields)       # Change fields
 | |
|     > migrator.remove_fields(model, *field_names, cascade=True)
 | |
|     > migrator.rename_field(model, old_field_name, new_field_name)
 | |
|     > migrator.rename_table(model, new_table_name)
 | |
|     > migrator.add_index(model, *col_names, unique=False)
 | |
|     > migrator.drop_index(model, *col_names)
 | |
|     > migrator.add_not_null(model, *field_names)
 | |
|     > migrator.drop_not_null(model, *field_names)
 | |
|     > migrator.add_default(model, field_name, default)
 | |
| 
 | |
| """
 | |
| 
 | |
| import peewee as pw
 | |
| 
 | |
| SQL = pw.SQL
 | |
| 
 | |
| 
 | |
| def migrate(migrator, database, fake=False, **kwargs):
 | |
|     migrator.sql(
 | |
|         'CREATE TABLE IF NOT EXISTS "user" ("username" VARCHAR(30) NOT NULL PRIMARY KEY, "password_hash" VARCHAR(120) NOT NULL)'
 | |
|     )
 | |
| 
 | |
| 
 | |
| def rollback(migrator, database, fake=False, **kwargs):
 | |
|     pass
 |