Esempio n. 1
0
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()
Esempio n. 2
0
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")
Esempio n. 3
0
    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)
Esempio n. 4
0
    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)
Esempio n. 5
0
    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
Esempio n. 6
0
    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
Esempio n. 7
0
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()