# Custom Oauth Login

**URL:** <https://discuss.openedx.org/t/custom-oauth-login/4799>\
**Category:** Site Operators\
**Created:** [April 20, 2021, 2:09am UTC](https://discuss.openedx.org/t/custom-oauth-login/4799 "2021-04-20T02:09:18Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![guangyaw](https://avatars.discourse-cdn.com/v4/letter/g/b38774/32.png) [@guangyaw](https://discuss.openedx.org/u/guangyaw)\
**Post date:** [April 20, 2021, 2:09am UTC](https://discuss.openedx.org/t/custom-oauth-login/4799/1 "2021-04-20T02:09:18Z")

</div>

I do a custom Oauth Login. I meet a problem:  
When do account binding:  
Login via third party’s account/password and back to edx . The “logged in” status of the edx would become “not logged in”. Could someone give advice?  
( In “Ironwood” , the function still works. After version : “Juniper”, the function is not working. )

===========================  
**(Select binding account : )**

@ensure\_csrf\_cookie  
def signin\_nid(request):  
xclient\_id = Xschools.objects.get(xschool\_id=‘FCU’).xschool\_client  
xclient\_url = Xschools.objects.get(xschool\_id=‘FCU’).return\_uri  
return redirect(  
‘https://[third party oauth url]?client\_id=’ + xclient\_id + ‘&client\_url=’ + xclient\_url)

**( Login via third party’s account/password and then back to ‘return\_nid’ )**

@csrf\_exempt  
def return\_nid(request):  
if request.method == ‘POST’:  
if int(request.POST[‘status’]) == 200:  
**…( Do binding )**
