    def __init__(self):
        self.reqparse = reqparse.RequestParser()
        super(AuthenticatedService, self).__init__()
        self.auth_dict = dict()
        if current_user.is_authenticated:
            roles_marshal = []
            for role in current_user.roles:
                roles_marshal.append(marshal(role.__dict__, ROLE_FIELDS))

            roles_marshal.append({"name": current_user.role})

            for role in RBACRole.roles[current_user.role].get_parents():
                roles_marshal.append({"name": role.name})

            self.auth_dict = {
                "authenticated": True,
                "user": current_user.email,
                "roles": roles_marshal
            }
        else:
            if app.config.get('FRONTED_BY_NGINX'):
                url = "https://{}:{}{}".format(app.config.get('FQDN'), app.config.get('NGINX_PORT'), '/login')
            else:
                url = "http://{}:{}{}".format(app.config.get('FQDN'), app.config.get('API_PORT'), '/login')
            self.auth_dict = {
                "authenticated": False,
                "user": None,
                "url": url
            }
A web application accepts a user-controlled input that specifies a link to an external site, and uses that link in a Redirect. This simplifies phishing attacks.