Development #54852 » check-fc-secrets.py
1 |
import sys |
---|---|
2 |
|
3 |
from hobo.franceconnect.views import get_variable |
4 |
from hobo.environment.models import ( |
5 |
Authentic, |
6 |
Variable, |
7 |
)
|
8 |
|
9 |
global_title = 'unnamed site' |
10 |
|
11 |
try: |
12 |
global_title = Variable.objects.get(name='global_title').value |
13 |
except Variable.DoesNotExist: |
14 |
pass
|
15 |
|
16 |
try: |
17 |
secret = get_variable('A2_FC_CLIENT_SECRET').value |
18 |
except Authentic.DoesNotExist as e: |
19 |
print('FC not activated for %s\n' % global_title) |
20 |
else: |
21 |
if secret and len(secret.strip()) != 64: |
22 |
print('client secret length for %s is not 64-character-long: %s\n' % (global_title, secret)) |
23 |
sys.exit(0) |
24 |
|
25 |
try: |
26 |
if secret: |
27 |
int(secret, 16) |
28 |
except ValueError: |
29 |
print('client secret for %s is not hexa: %s\n' % (global_title, secret)) |
30 |
sys.exit(0) |
31 |
|
32 |
print('well-structured client secret for %s\n' % global_title) |