4 changed files with 41 additions and 10 deletions
@ -0,0 +1,24 @@ |
|||||
|
from couchpotato.core.settings import settings |
||||
|
from flask import request, Response |
||||
|
from functools import wraps |
||||
|
|
||||
|
def check_auth(username, password): |
||||
|
return username == settings.get('username') and password == settings.get('password') |
||||
|
|
||||
|
def authenticate(): |
||||
|
return Response( |
||||
|
'This is not the page you are looking for. *waves hand*', 401, |
||||
|
{'WWW-Authenticate': 'Basic realm="CouchPotato Login"'} |
||||
|
) |
||||
|
|
||||
|
def requires_auth(f): |
||||
|
|
||||
|
@wraps(f) |
||||
|
def decorated(*args, **kwargs): |
||||
|
auth = request.authorization |
||||
|
if settings.get('username') and (not auth or not check_auth(auth.username, auth.password)): |
||||
|
return authenticate() |
||||
|
|
||||
|
return f(*args, **kwargs) |
||||
|
|
||||
|
return decorated |
Loading…
Reference in new issue