-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakeclient.py
46 lines (41 loc) · 1.24 KB
/
makeclient.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
from django.contrib.auth.models import User
import djclick as click
from oauth2_provider.models import Application
CLIENT_ID = 'HSJWFZ2cIpWQOvNyCXyStV9hiOd7DfWeBOCzo4pP'
# create django oauth toolkit appliction (client)
@click.option(
'--username',
type=click.STRING,
required=True,
help='superuser username for application creator',
)
@click.option(
'--uri',
type=click.STRING,
default='http://localhost:3000/',
required=False,
help='redirect uri for application',
)
@click.command()
def command(username, uri):
if Application.objects.filter(client_id=CLIENT_ID).exists():
click.echo('The client already exists. You can administer it from the admin console.')
return
if username:
user = User.objects.get(username=username)
else:
first_user = User.objects.first()
if first_user:
user = first_user
if user:
application = Application(
name='batsai-client',
client_id=CLIENT_ID,
client_secret='',
client_type='public',
redirect_uris=uri,
authorization_grant_type='authorization-code',
user=user,
skip_authorization=True,
)
application.save()