def _authenticate(self, client): data = { 'client_id': client.client_id, 'redirect_uri': client.default_redirect_uri, 'response_type': 'code', 'scope': 'openid email', 'state': self.state, 'allow': 'Accept', } query_str = urlencode(data).replace('+', '%20') url = reverse('oidc_provider:authorize') + '/?' + query_str request = self.factory.get(url) request.user = self.admin return AuthorizeView.as_view()(request)
def oidc_authenticate(oidc_client, rf, admin_user): data = { 'client_id': oidc_client.client_id, 'redirect_uri': oidc_client.default_redirect_uri, 'response_type': 'code', 'scope': 'openid email', 'state': uuid.uuid4().hex, 'allow': 'Accept', } query_str = urlencode(data).replace('+', '%20') url = reverse('oidc_provider:authorize') + '/?' + query_str request = rf.get(url) request.user = admin_user return AuthorizeView.as_view()(request)
def _auth_request(self, method, data={}, is_user_authenticated=False): url = reverse('oidc_provider:authorize') if method.lower() == 'get': query_str = urlencode(data).replace('+', '%20') if query_str: url += '?' + query_str request = self.factory.get(url) elif method.lower() == 'post': request = self.factory.post(url, data=data) else: raise Exception('Method unsupported for an Authorization Request.') # Simulate that the user is logged. request.user = self.user if is_user_authenticated else AnonymousUser() response = AuthorizeView.as_view()(request) return response