def test_authorization_url_with_scopes(self): flow_obj = DropboxOAuth2Flow(APP_KEY, APP_SECRET, 'http://localhost/dummy', 'dummy_session', 'dbx-auth-csrf-token') scopes = ['account_info.read', 'files.metadata.read'] scope_authorization_url = flow_obj._get_authorize_url( None, None, 'offline', scopes) assert scope_authorization_url.startswith( 'https://{}/oauth2/authorize?'.format(session.WEB_HOST)) assert 'client_id={}'.format(APP_KEY) in scope_authorization_url assert 'response_type=code' in scope_authorization_url assert 'token_access_type=offline' in scope_authorization_url assert 'scope=account_info.read+files.metadata.read' in scope_authorization_url assert 'include_granted_scopes' not in scope_authorization_url
def authorization(self): """ oauth2 :return: """ auth_flow = DropboxOAuth2Flow(self.APP_KEY, self.APP_SECRET, redirect_uri=config['redirect']['url'], session={}, csrf_token_session_key=self.csrf_token_session_key) authorize_url = auth_flow.start() self.state = parse_qs(urlparse(authorize_url).query)['state'][0] webbrowser.open(authorize_url) if not self.get_auth_tocken(): print('Authorization failed') return False self.access_token = auth_flow.finish(self.access_parameters) self.dbx = dropbox.Dropbox(self.access_token.access_token) self.dfx = dropbox.files return True
def oauth_flow(self): if 'oauth_states' not in session.data: session.data['oauth_states'] = {} if self.short_name not in session.data['oauth_states']: session.data['oauth_states'][self.short_name] = { 'state': generate_token() } return DropboxOAuth2Flow( self.client_id, self.client_secret, redirect_uri=web_url_for( 'oauth_callback', service_name=self.short_name, _absolute=True ), session=session.data['oauth_states'][self.short_name], csrf_token_session_key='state' )
def test_default_oauth2_urls(self): flow_obj = DropboxOAuth2Flow('dummy_app_key', 'dummy_app_secret', 'http://localhost/dummy', 'dummy_session', 'dbx-auth-csrf-token') six.assertRegex( self, flow_obj._get_authorize_url('http://localhost/redirect', 'state', 'legacy'), r'^https://{}/oauth2/authorize\?'.format(re.escape(session.WEB_HOST)), ) self.assertEqual( flow_obj.build_url('/oauth2/authorize'), 'https://{}/oauth2/authorize'.format(session.API_HOST), ) self.assertEqual( flow_obj.build_url('/oauth2/authorize', host=session.WEB_HOST), 'https://{}/oauth2/authorize'.format(session.WEB_HOST), )
def get(self, request): flow = DropboxOAuth2Flow( settings.DROPBOX_API_KEY, settings.DROPBOX_API_SECRET, request.build_absolute_uri( '%s?%s' % ( reverse('dropbox_callback'), urlencode( { 'next': ( self.request.GET.get('next') or settings.LOGIN_REDIRECT_URL ) } ) ) ), request.session, 'csrfmiddlewaretoken' ) return HttpResponseRedirect( flow.start() )
def get_dropbox_auth_flow(request): proto = 'https://' if request.is_secure() else 'http://' redirect_uri = proto + request.META['HTTP_HOST'] + resolve_url('dropboxauthredirect') return DropboxOAuth2Flow(settings.DROPBOX_APP_KEY, settings.DROPBOX_APP_SECRET, redirect_uri, request.session, "dropbox-auth-csrf-token")
def test_authorization_url_invalid_token_type_raises_assertion_error(self): flow_obj = DropboxOAuth2Flow(APP_KEY, APP_SECRET, 'http://localhost/dummy', 'dummy_session', 'dbx-auth-csrf-token') with pytest.raises(AssertionError): flow_obj._get_authorize_url(None, None, 'invalid')
def start_creating_connection(self, flow_object: DropboxOAuth2Flow) -> str: if flow_object is None: return None return flow_object.start()
def get_dropbox_auth_flow(web_app_session): return DropboxOAuth2Flow("APP_KEY", "APP_SECRET", root + ":" + str(port), web_app_session, "dropbox-auth-csrf-token")
def get_dropbox_auth_flow(web_app_session): return DropboxOAuth2Flow( os.environ["COUCHDROP_WEB__DROPBOX_KEY"], os.environ["COUCHDROP_WEB__DROPBOX_SECRET"], os.environ["COUCHDROP_WEB__REDIRECT_URI"], web_app_session, "dropbox-auth-csrf-token" )
def get_dropbox_auth_flow(web_app_session): redirect_url = ST.REDIRECT_URL DropboxOAuth2Flow(ST.APP_KEY, ST.APP_SECRET, redirect_url)
def get_dropbox_auth_flow(web_app_session): redirect_uri = "https://my-web-server.org/dropbox-auth-finish" return DropboxOAuth2Flow( '0azi3qhn16dgofm', 'trpjwzdmwqo0wd9', redirect_uri, web_app_session, "dropbox-auth-csrf-token")
def get_dropbox_auth_flow(web_app_session): redirect_uri = url_for('settings.dropbox_auth_finish', _external=True) return DropboxOAuth2Flow(app.config["DROPBOX_APP_KEY"], app.config["DROPBOX_APP_SECRET"], redirect_uri, web_app_session, "dropbox-auth-csrf-token")
def get_dropbox_auth_flow(web_app_session): redirect_uri = "http://localhost:8000/zapier/index/" return DropboxOAuth2Flow("wz86r6znb1z42dh", "yw5gf9vfxb5leof", redirect_uri, web_app_session, "dropbox-auth-csrf-token")
def get_dropbox_auth_flow(web_app_session): return DropboxOAuth2Flow(APP_KEY, APP_SECRET, DP_REDIRECT_URL, web_app_session, "dropbox-auth-csrf-token")
def get_flow(): print("GETTING FLOW...") return DropboxOAuth2Flow(APP_KEY, APP_SECRET, get_url('oauth_callback'), session, 'dropbox-csrf-token')
def get_dropbox_auth_flow(web_app_session): return DropboxOAuth2Flow(settings.DROPBOX_APP_KEY, settings.DROPBOX_APP_SECRET, settings.DROPBOX_CLIENT_REDIRECT_URI, web_app_session, "dropbox-auth-csrf-token")
def get_flow(): return DropboxOAuth2Flow(APP_KEY, APP_SECRET, get_url('oauth_callback'), session, "dropbox-auth-csrf-token")
def get_dropbox_auth_flow(web_app_session): return DropboxOAuth2Flow(DROPBOX_APP_KEY, DROPBOX_APP_SECRET, DROPBOX_APP_REDIRECT, web_app_session, "dropbox-auth-csrf-token")