def create_api_key(sender, instance, created, **kwargs): if created: c = Client(user=instance, name="Calories app client", client_type=1, url=PROJECT_URL) c.save()
def create_oauth2_client(request): user_id = request.GET.get('user_id') if not user_id: return HttpResponse(content=json.dumps( {'error': 'Missing user_id GET param.'}), content_type="application/json") try: user = User.objects.get(id=user_id) except User.DoesNotExist: return HttpResponse(content=json.dumps({'error': 'User ID not found.'}), content_type="application/json") try: client = Client.objects.get(user=user) existing = True except Client.DoesNotExist: client = Client(user=user, name="API Client", client_type=1, url="http://todo.com") client.save() existing = False return HttpResponse(content=json.dumps({ 'client_id': client.client_id, 'client_secret': client.client_secret, 'existing': existing }), content_type="application/json")
def post(self, request): serializer = RegistrationSerializer(data=request.DATA) if not serializer.is_valid(): return Response(serializer.errors, \ status=status.HTTP_400_BAD_REQUEST) data = serializer.data u = User.objects.create(username=data['username'], email=data['email']) u.set_password(data['password']) u.save() name = u.username client = Client(user=u, name=name, url='' + name, \ client_id=name, client_secret='', client_type=1) client.save() return Response(serializer.data, status=201)
def post(self, request): serializer = RegistrationSerializer(data=request.DATA) # Check format and unique constraint if not serializer.is_valid(): return Response(serializer.errors,\ status=status.HTTP_400_BAD_REQUEST) data = serializer.data u = User.objects.create(username=data['username']) u.set_password(data['password']) u.save() # Create OAuth2 client name = u.username client = Client(user=u, name=name, url='' + name,\ client_id=name, client_secret='', client_type=1) client.save() return Response(serializer.data, status=status.HTTP_201_CREATED)
def create_oauth2(self, user): """ Creates & returns the HTTP ``Authorization`` header for use with Oauth. """ from provider.oauth2.models import Client, AccessToken try: client = Client.objects.get(user=user) except Client.DoesNotExist: client = Client(user=user, name="API custom tester", client_type=1, url="http://example.com") client.save() access_token = AccessToken.objects.create( user=user, client=client, scope= 1 << 1 | 1 << 2 #read + write ) return 'OAuth %s' % access_token.token
def get_credentials(self, user=None): """ Return dumpheader kwargs for self.api_client. e.g : return "OAuth cc93eb6b3f609172c90c335033c5ce111c3b4eb6" for OAuth2 """ if not user: user = self.user client_ = Client(user=user, name='Fake Client %s' % user.id, client_type=1, url="http://localhost") client_.save() access_token = AccessToken.objects.create(user=user, client=client_, scope=6) access_token.save() return "OAuth %s" % access_token.token
from django.contrib.auth.models import User from provider.oauth2.models import Client u = User.objects.create_superuser('admin', '*****@*****.**', 'password12') c = Client(user=u, name='admin', url='http://test.url', redirect_uri='http://test.url', client_id='a27a3bc616b1ed2ff965', client_secret='9174b76bcba9ab2188ada16bd6eb7166d2b3c71b', client_type=0) c.save()