mirror of
https://github.com/spotipy-dev/spotipy.git
synced 2026-06-19 09:13:53 +00:00
This commit is contained in:
parent
a42f2ccd0f
commit
939f869bbc
@ -245,7 +245,8 @@ class SpotifyOAuth(SpotifyAuthBase):
|
|||||||
proxies=None,
|
proxies=None,
|
||||||
show_dialog=False,
|
show_dialog=False,
|
||||||
requests_session=True,
|
requests_session=True,
|
||||||
requests_timeout=None
|
requests_timeout=None,
|
||||||
|
open_browser=True
|
||||||
):
|
):
|
||||||
"""
|
"""
|
||||||
Creates a SpotifyOAuth object
|
Creates a SpotifyOAuth object
|
||||||
@ -264,6 +265,7 @@ class SpotifyOAuth(SpotifyAuthBase):
|
|||||||
* show_dialog: Interpreted as boolean
|
* show_dialog: Interpreted as boolean
|
||||||
* requests_timeout: Tell Requests to stop waiting for a response after a given number
|
* requests_timeout: Tell Requests to stop waiting for a response after a given number
|
||||||
of seconds
|
of seconds
|
||||||
|
* open_browser: Whether or not the web browser should be opened to authorize a user
|
||||||
"""
|
"""
|
||||||
|
|
||||||
super(SpotifyOAuth, self).__init__(requests_session)
|
super(SpotifyOAuth, self).__init__(requests_session)
|
||||||
@ -280,6 +282,7 @@ class SpotifyOAuth(SpotifyAuthBase):
|
|||||||
self.proxies = proxies
|
self.proxies = proxies
|
||||||
self.requests_timeout = requests_timeout
|
self.requests_timeout = requests_timeout
|
||||||
self.show_dialog = show_dialog
|
self.show_dialog = show_dialog
|
||||||
|
self.open_browser = open_browser
|
||||||
|
|
||||||
def get_cached_token(self):
|
def get_cached_token(self):
|
||||||
""" Gets a cached auth token
|
""" Gets a cached auth token
|
||||||
@ -382,8 +385,8 @@ class SpotifyOAuth(SpotifyAuthBase):
|
|||||||
except webbrowser.Error:
|
except webbrowser.Error:
|
||||||
logger.error("Please navigate here: %s", auth_url)
|
logger.error("Please navigate here: %s", auth_url)
|
||||||
|
|
||||||
def _get_auth_response_interactive(self, open_browser=True):
|
def _get_auth_response_interactive(self, open_browser=False):
|
||||||
if open_browser:
|
if open_browser or self.open_browser:
|
||||||
self._open_auth_url()
|
self._open_auth_url()
|
||||||
prompt = "Enter the URL you were redirected to: "
|
prompt = "Enter the URL you were redirected to: "
|
||||||
else:
|
else:
|
||||||
@ -413,7 +416,7 @@ class SpotifyOAuth(SpotifyAuthBase):
|
|||||||
else:
|
else:
|
||||||
raise SpotifyOauthError("Server listening on localhost has not been accessed")
|
raise SpotifyOauthError("Server listening on localhost has not been accessed")
|
||||||
|
|
||||||
def get_auth_response(self, open_browser=True):
|
def get_auth_response(self, open_browser=False):
|
||||||
logger.info('User authentication requires interaction with your '
|
logger.info('User authentication requires interaction with your '
|
||||||
'web browser. Once you enter your credentials and '
|
'web browser. Once you enter your credentials and '
|
||||||
'give authorization, you will be redirected to '
|
'give authorization, you will be redirected to '
|
||||||
@ -424,7 +427,7 @@ class SpotifyOAuth(SpotifyAuthBase):
|
|||||||
redirect_host, redirect_port = get_host_port(redirect_info.netloc)
|
redirect_host, redirect_port = get_host_port(redirect_info.netloc)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
open_browser
|
(open_browser or self.open_browser)
|
||||||
and redirect_host in ("127.0.0.1", "localhost")
|
and redirect_host in ("127.0.0.1", "localhost")
|
||||||
and redirect_info.scheme == "http"
|
and redirect_info.scheme == "http"
|
||||||
):
|
):
|
||||||
@ -584,7 +587,8 @@ class SpotifyPKCE(SpotifyAuthBase):
|
|||||||
username=None,
|
username=None,
|
||||||
proxies=None,
|
proxies=None,
|
||||||
requests_timeout=None,
|
requests_timeout=None,
|
||||||
requests_session=True,):
|
requests_session=True,
|
||||||
|
open_browser=True):
|
||||||
"""
|
"""
|
||||||
Creates Auth Manager with the PKCE Auth flow.
|
Creates Auth Manager with the PKCE Auth flow.
|
||||||
|
|
||||||
@ -602,6 +606,7 @@ class SpotifyPKCE(SpotifyAuthBase):
|
|||||||
* proxies: Proxy for the requests library to route through
|
* proxies: Proxy for the requests library to route through
|
||||||
* requests_timeout: Tell Requests to stop waiting for a response after a given number
|
* requests_timeout: Tell Requests to stop waiting for a response after a given number
|
||||||
of seconds
|
of seconds
|
||||||
|
* open_browser: Whether or not the web browser should be opened to authorize a user
|
||||||
"""
|
"""
|
||||||
|
|
||||||
super(SpotifyPKCE, self).__init__(requests_session)
|
super(SpotifyPKCE, self).__init__(requests_session)
|
||||||
@ -620,6 +625,7 @@ class SpotifyPKCE(SpotifyAuthBase):
|
|||||||
self.code_verifier = None
|
self.code_verifier = None
|
||||||
self.code_challenge = None
|
self.code_challenge = None
|
||||||
self.authorization_code = None
|
self.authorization_code = None
|
||||||
|
self.open_browser = open_browser
|
||||||
|
|
||||||
def _normalize_scope(self, scope):
|
def _normalize_scope(self, scope):
|
||||||
if scope:
|
if scope:
|
||||||
@ -688,7 +694,7 @@ class SpotifyPKCE(SpotifyAuthBase):
|
|||||||
except webbrowser.Error:
|
except webbrowser.Error:
|
||||||
logger.error("Please navigate here: %s", auth_url)
|
logger.error("Please navigate here: %s", auth_url)
|
||||||
|
|
||||||
def _get_auth_response(self, open_browser=True):
|
def _get_auth_response(self, open_browser=False):
|
||||||
logger.info('User authentication requires interaction with your '
|
logger.info('User authentication requires interaction with your '
|
||||||
'web browser. Once you enter your credentials and '
|
'web browser. Once you enter your credentials and '
|
||||||
'give authorization, you will be redirected to '
|
'give authorization, you will be redirected to '
|
||||||
@ -699,7 +705,7 @@ class SpotifyPKCE(SpotifyAuthBase):
|
|||||||
redirect_host, redirect_port = get_host_port(redirect_info.netloc)
|
redirect_host, redirect_port = get_host_port(redirect_info.netloc)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
open_browser
|
(open_browser or self.open_browser)
|
||||||
and redirect_host in ("127.0.0.1", "localhost")
|
and redirect_host in ("127.0.0.1", "localhost")
|
||||||
and redirect_info.scheme == "http"
|
and redirect_info.scheme == "http"
|
||||||
):
|
):
|
||||||
@ -730,8 +736,8 @@ class SpotifyPKCE(SpotifyAuthBase):
|
|||||||
else:
|
else:
|
||||||
raise SpotifyOauthError("Server listening on localhost has not been accessed")
|
raise SpotifyOauthError("Server listening on localhost has not been accessed")
|
||||||
|
|
||||||
def _get_auth_response_interactive(self, open_browser=True):
|
def _get_auth_response_interactive(self, open_browser=False):
|
||||||
if open_browser:
|
if open_browser or self.open_browser:
|
||||||
self._open_auth_url()
|
self._open_auth_url()
|
||||||
prompt = "Enter the URL you were redirected to: "
|
prompt = "Enter the URL you were redirected to: "
|
||||||
else:
|
else:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user