def login_view(request): if request.method == 'POST': form = LoginForm(data=request.POST) if form.is_valid(): user = form.authenticate(request) login(request, user) return redirect('todos:todo-list') else: form = LoginForm() secret = get_secret() naver_request_url = naver_login_url( client_id=secret['NAVER_CLIENT_ID'], redirect_url='http://localhost:8000/naver-login', state='RANDOM_STATE') facebook_request_url = facebook_login_url( client_id=secret['FACEBOOK_CLIENT_ID'], redirect_url='http://localhost:8000/facebook-login', state='RANDOM_STATE') context = { 'login_form': form, 'naver_request_url': naver_request_url, 'facebook_request_url': facebook_request_url, } return render(request, 'members/login.html', context)
def signup_view(request): if request.method == 'POST': form = SignupForm(request.POST) if form.is_valid(): user = form.save() print(user) login(request, user) return redirect('todos:todo-list') else: form = SignupForm() secret = get_secret() naver_request_url = naver_login_url( client_id=secret['NAVER_CLIENT_ID'], redirect_url='http://localhost:8000/members/naver-signup', state='RANDOM_STATE') facebook_request_url = facebook_login_url( client_id=secret['FACEBOOK_CLIENT_ID'], redirect_url='http://localhost:8000/members/facebook-signup', state='RANDOM_STATE') context = { 'signup_form': form, 'naver_request_url': naver_request_url, 'facebook_request_url': facebook_request_url } return render(request, 'members/signup.html', context)
def naver_login_view(request): code = request.GET['code'] state = request.GET['state'] secret = get_secret() response = naver_token_request( client_id=secret['NAVER_CLIENT_ID'], client_secret_key=secret['NAVER_CLIENT_SECRET_KEY'], code=code, state=state) user = User.objects.get(username=response.json()['response']['id']) login(request, user) return redirect('todos:todo-list')
def facebook_login_view(request): code = request.GET['code'] secret = get_secret() response = facebook_token_request( client_id=secret['FACEBOOK_CLIENT_ID'], client_secret_key=secret['FACEBOOK_CLIENT_SECRET_KEY'], redirect_uri='http://localhost:8000/facebook-login', code=code) user = User.objects.get(username=response.json()['id']) login(request, user) return redirect('todos:todo-list')
def facebook_signup_view(request): code = request.GET['code'] secret = get_secret() response = facebook_token_request( client_id=secret['FACEBOOK_CLIENT_ID'], client_secret_key=secret['FACEBOOK_CLIENT_SECRET_KEY'], redirect_uri='http://localhost:8000/members/facebook-signup', code=code) user = User.objects.create_user( username=response.json()['id'], name=response.json()['name'], type='F', ) login(request, user) return redirect('todos:todo-list')