def get_authz_token()

in django_airavata/apps/auth/utils.py [0:0]


def get_authz_token(request, user=None, access_token=None):
    """Construct AuthzToken instance from session; refresh token if needed."""
    if access_token is not None:
        return _create_authz_token(request, user=user, access_token=access_token)
    elif is_request_access_token(request):
        return _create_authz_token(request, user=user)
    elif is_session_access_token(request) and not is_session_access_token_expired(request, user=user):
        return _create_authz_token(request, user=user, access_token=access_token)
    elif not is_refresh_token_expired(request):
        # Have backend reauthenticate the user with the refresh token
        user = authenticate(request)
        if user:
            return _create_authz_token(request, user=user)
    return None