Beispiel #1
0
def get_dropbox_auth_flow():
    if DEBUG:
        redirect_uri = "http://localhost:5000/dropbox-auth-finish"
    else:
        redirect_uri = "https://https://sacradash.herokuapp.com/dropbox-auth-finish"
    return DropboxOAuth2Flow(DROPBOX_APP_KEY, DROPBOX_APP_SECRET, redirect_uri,
                             session, "dropbox-auth-csrf-token")
Beispiel #2
0
def get_dropbox_auth_flow(session):
    return DropboxOAuth2Flow(
            django_settings.DROPBOX_APP_KEY,
            django_settings.DROPBOX_SECRET,
            django_settings.DROPBOX_REDIRECT_URI,
            session,
            'dropbox-auth-csrf-token')
Beispiel #3
0
 def get_dropbox_auth_flow(self, request):
     from dropbox.client import DropboxOAuth2Flow
     redirect_uri = settings.DROPBOX_REDIRECT_URI
     auth_flow = DropboxOAuth2Flow(settings.DROPBOX_APP_KEY,
                                   settings.DROPBOX_APP_SECRET,
                                   redirect_uri, request.session,
                                   "dropbox-auth-csrf-token")
     return auth_flow
Beispiel #4
0
def get_auth_flow():
    # Dropbox only accepts https redirect uris unless using localhost
    redirect_uri = api_url_for('dropbox_oauth_finish', _absolute=True)
    return DropboxOAuth2Flow(
        consumer_key=settings.DROPBOX_KEY,
        consumer_secret=settings.DROPBOX_SECRET,
        redirect_uri=redirect_uri,
        session=session.data,
        csrf_token_session_key=settings.DROPBOX_AUTH_CSRF_TOKEN)
Beispiel #5
0
def get_dropbox_auth_flow(session):
    from .views import DropboxAuthCallback

    redirect_uri = '{}{}'.format(
        get_url_base(),
        reverse(DropboxAuthCallback.slug),
    )
    return DropboxOAuth2Flow(settings.DROPBOX_KEY, settings.DROPBOX_SECRET,
                             redirect_uri, session, DROPBOX_CSRF_TOKEN)
Beispiel #6
0
def get_auth_flow():
    if DEBUG:
        redirect_uri = url_for('dropbox_auth_finish', _external=True)
    else:
        redirect_uri = url_for('dropbox_auth_finish',
                               _external=True,
                               _scheme="https")
    return DropboxOAuth2Flow(DROPBOX_APP_KEY, DROPBOX_APP_SECRET, redirect_uri,
                             session, 'dropbox-auth-csrf-token')
Beispiel #7
0
def get_auth_flow(redirect_on_fail=True):
    app_key = get_config('dropbox_app_key')
    app_secret = get_config('dropbox_app_secret')
    if app_key and app_secret:
        locale = request.accept_languages and request.accept_languages.best
        return DropboxOAuth2Flow(app_key, app_secret,
                                 url_for('.finish_auth', _external=True),
                                 session, 'dropbox-auth-csrf-token', locale,
                                 rest_client=RestClient)
    if redirect_on_fail:
        raise Redirect(url_for('.appkey_form'))
Beispiel #8
0
def dropbox_auth_finish():
    try:
        error = request.args.get('error')
        if error is not None:
            raise DropboxOAuth2Flow.NotApprovedException()

        code = request.args.get('code')
        state = request.args.get('state')
        access_token, user_id, url_state = \
                get_dropbox_auth_flow(session).finish({'code':code, 'state':state})
    except DropboxOAuth2Flow.BadRequestException, e:
        abort(400)
Beispiel #9
0
 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': None}
     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')
Beispiel #10
0
    def get_dropbox_auth_flow(self):
        print('dropbox_auth_flow')
        APP_KEY = request.registry.get('ir.config_parameter').get_param(
            request.cr, openerp.SUPERUSER_ID, 'epps.dropbox_app_key')
        APP_SECRET = request.registry.get('ir.config_parameter').get_param(
            request.cr, openerp.SUPERUSER_ID, 'epps.dropbox_app_secret')

        base_url = request.registry.get('ir.config_parameter').get_param(
            request.cr, openerp.SUPERUSER_ID, 'web.base.url')
        redirect_uri = urljoin(base_url, "/dropbox_auth_finish")
        print(redirect_uri)
        print(request.session)
        return DropboxOAuth2Flow(APP_KEY, APP_SECRET, redirect_uri,
                                 request.session, "dropbox-auth-csrf-token")
Beispiel #11
0
def get_auth_flow():
    return DropboxOAuth2Flow(app_key, app_secret, dropbox_redirect_uri,
                             session, 'dropbox-auth-csrf-token')
Beispiel #12
0
def get_dropbox_auth_flow(web_app_session):
    redirect_uri = "https://watson.codef.in/auth_finish"
    return DropboxOAuth2Flow(APP_KEY, APP_SECRET, redirect_uri,
                             web_app_session, "dropbox-auth-csrf-token")
Beispiel #13
0
def get_auth_flow():
    redirect_uri = url_for('dropbox_auth_finish', _external=True)
    return DropboxOAuth2Flow(DROPBOX_APP_KEY, DROPBOX_APP_SECRET, redirect_uri,
                             session, 'dropbox-auth-csrf-token')
Beispiel #14
0
 def get_auth_flow( self ):
     redirect_uri =  cherrypy.url( 'dropbox_auth_finish' )
     return DropboxOAuth2Flow( self._dropbox_app_key, self._dropbox_app_secret, redirect_uri,
                                        cherrypy.session, 'dropbox-auth-csrf-token' )
Beispiel #15
0
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")
Beispiel #16
0
 def get_dropbox_auth_flow(request):
     redirect_uri = 'http://' + request.get_host(
     ) + '/api/1/container/add/dropbox/done/'
     return DropboxOAuth2Flow(settings.DROPBOX_APP_KEY,
                              settings.DROPBOX_SECRET_KEY, redirect_uri,
                              request.session, "dropbox-auth-csrf-token")
Beispiel #17
0
def get_flow():
    return DropboxOAuth2Flow(APP_KEY, APP_SECRET, get_url('oauth_callback'),
                             session, 'dropbox-csrf-token')
Beispiel #18
0
def get_dropbox_auth_flow(session, redirect_uri):
    return DropboxOAuth2Flow(APP_KEY, APP_SECRET, redirect_uri, session,
                             'dropbox-auth-csrf-token')
Beispiel #19
0
def dropbox_auth_flow():
    dropbox = services['dropbox']
    redirect_uri = url_for('dropbox_callback', _external=True)
    flow = DropboxOAuth2Flow(dropbox.client_key, dropbox.client_secret,
        redirect_uri, session, 'dropbox-auth-csrf-token')
    return flow
Beispiel #20
0
    def auth():
        #app_key = 'knbyx2adg14kkn5'
        #app_secret = 'kh3ulgqry8jffqp'
        app_key = 'eif0l7bgnpb06di'
        app_secret = 'qa02jhdo4jrwaid'

        global Auth_DROPMytoken
        global Auth_Drop_Running_true

        def keep_running():
            global Auth_Drop_Running_true
            return Auth_Drop_Running_true

        class AuthHandler(BaseHTTPServer.BaseHTTPRequestHandler):
            def do_HEAD(s):
                s.send_response(200)
                s.send_header("Content-type", "text/html")
                s.end_headers()

            def do_GET(s):
                s.send_response(200)
                s.send_header("Content-type", "text/html")
                s.end_headers()
                if s.path.find("code=") != -1:
                    global Auth_DROPMytoken
                    global Auth_Drop_Running_true
                    Auth_DROPMytoken = s.path
                    Auth_Drop_Running_true = False
                    s.wfile.write("ok see command line")
                    return

        class MYrequest:
            def __init__(self, url):
                self.url = url

            def get(self, mystring):
                if self.url.find(mystring) == -1:
                    return
                item = self.url.split(mystring + "=")[1]
                if item.find("&") != -1:
                    item = item.split("&")[0]
                return urllib.unquote(item).decode()

        redirect_url = "http://localhost:8787"
        my_session = {}
        Auth_Drop_Running_true = True
        flow = DropboxOAuth2Flow(app_key, app_secret, redirect_url, my_session,
                                 "dropbox-auth-csrf-token")

        authorize_url = flow.start()
        webbrowser.open(authorize_url)

        try:
            httpd = BaseHTTPServer.HTTPServer(("", 8787), AuthHandler)
            while keep_running():
                httpd.handle_request()
        except KeyboardInterrupt:
            pass
        httpd.server_close()

        token, user_id, url_state = flow.finish(MYrequest(Auth_DROPMytoken))
        clouddrive.CloudDrive.access_token = token
        return token
Beispiel #21
0
def flow():
    redir_url = url_for('redir', _external=True, _scheme=scheme)
    return DropboxOAuth2Flow(APP_KEY, APP_SECRET, redir_url, session, 'csrf')