HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/thread-self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/auth/keystone.py
"""
Provide authentication using OpenStack Keystone

:depends:   - keystoneclient Python module
"""

try:
    from keystoneclient.exceptions import AuthorizationFailure, Unauthorized
    from keystoneclient.v2_0 import client
except ImportError:
    pass


def get_auth_url():
    """
    Try and get the URL from the config, else return localhost
    """
    try:
        return __opts__["keystone.auth_url"]
    except KeyError:
        return "http://localhost:35357/v2.0"


def auth(username, password):
    """
    Try and authenticate
    """
    try:
        keystone = client.Client(
            username=username, password=password, auth_url=get_auth_url()
        )
        return keystone.authenticate()
    except (AuthorizationFailure, Unauthorized):
        return False


if __name__ == "__main__":
    __opts__ = {}
    if auth("test", "test"):
        print("Authenticated")
    else:
        print("Failed to authenticate")