<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def user_token(scopes, client_id=None, client_secret=None, redirect_uri=None):
 """ Generate a user access token :param List[str] scopes: Scopes to get :param str client_id: Spotify Client ID :param str client_secret: Spotify Client secret :param str redirect_uri: Spotify redirect URI :return: Generated access token :rtype: User """

    webbrowser.open_new(authorize_url(client_id=client_id, redirect_uri=redirect_uri, scopes=scopes))
    code = parse_code(raw_input('Enter the URL that you were redirected to: '))
    return User(code, client_id=client_id, client_secret=client_secret, redirect_uri=redirect_uri)