def callback_view(): if request.args.get('state') == session.get('state'): code = request.args.get('code') user = GithubUser(code=code, client_id=constants.get('GH_CLIENT_ID'), secret=constants.get('GH_SECRET')) if user.is_valid(): session['token'] = user.token org_verified = user.verify_org(constants.get('GH_ORG')) repo_verified = any( [user.verify_repo(str(b.repo.id)) for b in bots.values()]) if org_verified and repo_verified: flash('You are now logged in!', 'success') session['verified'] = True else: flash('You do not satisfy the authentication requirements!', 'danger') session['verified'] = False session['org_verified'] = org_verified session['repo_verified'] = repo_verified return redirect(url_for('no_auth_view')) else: flash('Your GitHub credentials are not valid!', 'danger') session['verified'] = False if session.get('object_key'): object_key = session.pop('object_key') return redirect(url_for('go_view', object_key=object_key)) if session.get('next'): return redirect(session.pop('next')) return redirect(url_for('demo_view'))
def callback_view(): if request.args.get('state') == session.get('state'): code = request.args.get('code') user = GithubUser(code=code, client_id=constants.get('GH_CLIENT_ID'), secret=constants.get('GH_SECRET')) if user.is_valid(): session['token'] = user.token org_verified = user.verify_org(constants.get('GH_ORG')) repo_verified = any([user.verify_repo(str(b.repo.id)) for b in bots.values()]) if org_verified and repo_verified: flash('You are now logged in!', 'success') session['verified'] = True else: flash('You do not satisfy the authentication requirements!', 'danger') session['verified'] = False session['org_verified'] = org_verified session['repo_verified'] = repo_verified return redirect(url_for('no_auth_view')) else: flash('Your GitHub credentials are not valid!', 'danger') session['verified'] = False if session.get('object_key'): object_key = session.pop('object_key') return redirect(url_for('go_view', object_key=object_key)) if session.get('next'): return redirect(session.pop('next')) return redirect(url_for('demo_view'))