Closed
Description
Hi, I have am using @partial to pause the pipeline but I don't know how to resume it.
I have checked your example project but I can't anything related to continuing pipeline.
To which URL I should make request. Is it post/get method.
Actually, I have tried various ways before creating this issue like adding social_django urls and making post request to complete
view but I am unable to set received data from user e.g. email.
@api_view(["GET","POST"])
@permission_classes([AllowAny,])
def require_email(request):
strategy = load_strategy()
partial_token = request.GET.get('partial_token')
partial = strategy.partial_load(partial_token)
if request.method == 'POST':
request.session['email'] = request.data.get('email')
redirect_url = reverse('social:complete', kwargs={'backend': partial.backend}) + "?partial_token=" + partial_token
return redirect(redirect_url)
else:
return Response({'error': "Email wasn't provided by oauth provider", 'continue_url': f"{reverse('require_email')}?partial_token={partial_token}", 'token': partial_token}, status=202)
@partial
def check_email(strategy, backend, request, response, is_new, details, user=None, *args, **kwargs):
if user and user.email:
return
elif is_new and not details.get('email'):
email = strategy.session_get('email')
if email:
details['email'] = email
else:
current_partial = kwargs.get('current_partial')
return strategy.redirect(f"{reverse('require_email')}?partial_token={kwargs.get('current_partial').token}")
So, @st4lk can you please help me out.
~ Regards
Metadata
Metadata
Assignees
Labels
No labels