|
@@ -4,6 +4,11 @@ from django.http import HttpResponse, HttpResponseRedirect
|
|
|
from SampleApp import config
|
|
|
from testOpenId.openid_api import OpenID_CLIENT
|
|
|
|
|
|
+from rest_framework.views import APIView
|
|
|
+from rest_framework.response import Response
|
|
|
+from rest_framework import authentication, permissions
|
|
|
+from django.contrib.auth.models import User
|
|
|
+
|
|
|
|
|
|
authorization_url = config.OpenID_SERVER + config.OpenID_AUTHORIZATION_URL
|
|
|
token_url = config.OpenID_SERVER + config.OpenID_TOKEN_URL
|
|
@@ -22,3 +27,25 @@ def exchange(request):
|
|
|
response = obj.get_access_token(code)
|
|
|
print(response)
|
|
|
return render(request, 'testOpenId/displaytoken.html', response)
|
|
|
+
|
|
|
+
|
|
|
+class GetAccessToken(APIView):
|
|
|
+
|
|
|
+ permission_classes = (permissions.AllowAny,)
|
|
|
+
|
|
|
+ def get(self, request, format=None):
|
|
|
+ code = request.GET.get('code').strip()
|
|
|
+ obj = OpenID_CLIENT()
|
|
|
+ response = obj.get_access_token(code)
|
|
|
+ return Response(response)
|
|
|
+
|
|
|
+
|
|
|
+class GetRefreshToken(APIView):
|
|
|
+
|
|
|
+ permission_classes = (permissions.AllowAny,)
|
|
|
+
|
|
|
+ def get(self, request, format=None):
|
|
|
+ refresh_token = request.GET.get('refresh_token').strip(),
|
|
|
+ obj = OpenID_CLIENT()
|
|
|
+ response = obj.get_refresh_token(refresh_token)
|
|
|
+ return Response(response)
|