Search in sources :

Example 1 with Auth

use of org.openstack4j.openstack.common.Auth in project openstack4j by ContainX.

the class OSAuthenticator method reAuthenticate.

/**
     * Re-authenticates/renews the token for the current Session
     */
@SuppressWarnings("rawtypes")
public static void reAuthenticate() {
    LOG.debug("Re-Authenticating session due to expired Token or invalid response");
    OSClientSession session = OSClientSession.getCurrent();
    switch(session.getAuthVersion()) {
        case V2:
            KeystoneAccess access = ((OSClientSessionV2) session).getAccess().unwrap();
            SessionInfo info = new SessionInfo(access.getEndpoint(), session.getPerspective(), true, session.getProvider());
            Auth auth = (Auth) ((access.isCredentialType()) ? access.getCredentials() : access.getTokenAuth());
            authenticateV2((org.openstack4j.openstack.identity.v2.domain.Auth) auth, info, session.getConfig());
            break;
        case V3:
        default:
            Token token = ((OSClientSessionV3) session).getToken();
            info = new SessionInfo(token.getEndpoint(), session.getPerspective(), true, session.getProvider());
            authenticateV3((KeystoneAuth) token.getCredentials(), info, session.getConfig());
            break;
    }
}
Also used : OSClientSessionV3(org.openstack4j.openstack.internal.OSClientSession.OSClientSessionV3) Auth(org.openstack4j.openstack.common.Auth) TokenAuth(org.openstack4j.openstack.identity.v3.domain.TokenAuth) KeystoneAuth(org.openstack4j.openstack.identity.v3.domain.KeystoneAuth) KeystoneToken(org.openstack4j.openstack.identity.v3.domain.KeystoneToken) Token(org.openstack4j.model.identity.v3.Token) KeystoneAccess(org.openstack4j.openstack.identity.v2.domain.KeystoneAccess)

Aggregations

Token (org.openstack4j.model.identity.v3.Token)1 Auth (org.openstack4j.openstack.common.Auth)1 KeystoneAccess (org.openstack4j.openstack.identity.v2.domain.KeystoneAccess)1 KeystoneAuth (org.openstack4j.openstack.identity.v3.domain.KeystoneAuth)1 KeystoneToken (org.openstack4j.openstack.identity.v3.domain.KeystoneToken)1 TokenAuth (org.openstack4j.openstack.identity.v3.domain.TokenAuth)1 OSClientSessionV3 (org.openstack4j.openstack.internal.OSClientSession.OSClientSessionV3)1