コード例 #1
0
    def _get_auth_response(self, open_browser=None):
        logger.info('User authentication requires interaction with your '
                    'web browser. Once you enter your credentials and '
                    'give authorization, you will be redirected to '
                    'a url.  Paste that url you were directed to to '
                    'complete the authorization.')

        redirect_info = urlparse(self.redirect_uri)
        redirect_host, redirect_port = get_host_port(redirect_info.netloc)

        if open_browser is None:
            open_browser = self.open_browser

        if (open_browser and redirect_host in ("127.0.0.1", "localhost")
                and redirect_info.scheme == "http"):
            # Only start a local http server if a port is specified
            if redirect_port:
                return self._get_auth_response_local_server(redirect_port)
            else:
                logger.warning(
                    'Using `%s` as redirect URI without a port. '
                    'Specify a port (e.g. `%s:8080`) to allow '
                    'automatic retrieval of authentication code '
                    'instead of having to copy and paste '
                    'the URL your browser is redirected to.', redirect_host,
                    redirect_host)
        return self._get_auth_response_interactive(open_browser=open_browser)
コード例 #2
0
    def get_auth_response(self, state=None):
        """ Gets a new auth **token** with user interaction """
        logger.info('User authentication requires interaction with your '
                    'web browser. Once you enter your credentials and '
                    'give authorization, you will be redirected to '
                    'a url.  Paste that url you were directed to to '
                    'complete the authorization.')

        redirect_info = urlparse(self.redirect_uri)
        redirect_host, redirect_port = get_host_port(redirect_info.netloc)
        # Implicit Grant tokens are returned in a hash fragment
        # which is only available to the browser. Therefore, interactive
        # URL retrival is required.
        if (redirect_host in ("127.0.0.1", "localhost")
                and redirect_info.scheme == "http" and redirect_port):
            logger.warning('Using a local redirect URI with a '
                           'port, likely expecting automatic '
                           'retrieval. Due to technical limitations, '
                           'the authentication token cannot be '
                           'automatically retrieved and must be '
                           'copied and pasted.')

        self._open_auth_url(state)
        logger.info('Paste that url you were directed to in order to '
                    'complete the authorization')
        response = SpotifyImplicitGrant._get_user_input("Enter the URL you "
                                                        "were redirected to: ")
        return self.parse_response_token(response, state)
コード例 #3
0
ファイル: oauth2.py プロジェクト: Masrepus/spotipy
    def get_auth_response(self):
        logger.info('User authentication requires interaction with your '
                    'web browser. Once you enter your credentials and '
                    'give authorization, you will be redirected to '
                    'a url.  Paste that url you were directed to to '
                    'complete the authorization.')

        redirect_info = urlparse(self.redirect_uri)
        redirect_host, redirect_port = get_host_port(redirect_info.netloc)

        if redirect_host in ("127.0.0.1", "localhost") and redirect_info.scheme == "http":
            return self._get_auth_response_local_server(redirect_port)
        else:
            logger.info('Paste that url you were directed to in order to '
                        'complete the authorization')
            return self._get_auth_response_interactive()
コード例 #4
0
def new_get_auth_response(self):
    logger.info('User authentication requires interaction with your '
                'web browser. Once you enter your credentials and '
                'give authorization, you will be redirected to '
                'a url.  Paste that url you were directed to to '
                'complete the authorization.')

    redirect_info = urlparse(self.redirect_uri)
    redirect_host, redirect_port = util.get_host_port(redirect_info.netloc)

    if redirect_port:
        return self._get_auth_response_local_server(redirect_port)
    else:
        logger.warning(
            'Using `%s` as redirect URI without a port. '
            'Specify a port (e.g. `%s:8080`) to allow '
            'automatic retrieval of authentication code '
            'instead of having to copy and paste '
            'the URL your browser is redirected to.', redirect_host,
            redirect_host)
コード例 #5
0
ファイル: oauth2.py プロジェクト: alpoza/spotipy
    def get_auth_response(self):
        print("""

            User authentication requires interaction with your
            web browser. Once you enter your credentials and
            give authorization, you will be redirected to
            a url.

        """)

        redirect_info = urlparse(self.redirect_uri)
        redirect_host, redirect_port = get_host_port(redirect_info.netloc)

        if redirect_host in ("127.0.0.1",
                             "localhost") and redirect_info.scheme == "http":
            return self._get_auth_response_local_server(redirect_port)
        else:
            print("""
            Paste that url you were directed to to
            complete the authorization.
""")
            return self._get_auth_response_interactive()