The vector triple product identity follows from quaternion associativity.
A convenient tool for expressing quaternion statements in terms of dot and cross products is to write the quaternion as a real number and a 3-vector, as $a = (\alpha, \mathbf{a})$. Then quaternion multiplication of quaternion $b = (\beta, \mathbf{b})$ on the left by $a$ is given by
$$
a b =
\begin{bmatrix}
\alpha & -\mathbf{a}^T \\
\mathbf{a} & \alpha I + \mathbf{a} \times
\end{bmatrix}
\begin{pmatrix}
\beta \\
\mathbf{b}
\end{pmatrix}
=
\begin{pmatrix}
\alpha\beta - \mathbf{a} \cdot \mathbf{b} \\
\beta\mathbf{a} + \alpha \mathbf{b} + \mathbf{a} \times \mathbf{b}
\end{pmatrix} .
$$
This is much simplified for purely non-real quaternions
$a = (0,\mathbf{a})$, $b = (0,\mathbf{b})$ and $c = (0,\mathbf{c})$
$$
a b =
\begin{bmatrix}
0 & -\mathbf{a}^T \\
\mathbf{a} & \mathbf{a} \times
\end{bmatrix}
\begin{pmatrix}
0 \\
\mathbf{b}
\end{pmatrix}
=
\begin{pmatrix}
-\mathbf{a} \cdot \mathbf{b} \\
\mathbf{a} \times \mathbf{b}
\end{pmatrix} .
$$
And further,
$$
a b c =
\begin{pmatrix}
-(\mathbf{a} \times \mathbf{b}) \cdot \mathbf{c} \\
-(\mathbf{a} \cdot \mathbf{b}) \mathbf{c} + (\mathbf{a} \times \mathbf{b}) \times \mathbf{c}
\end{pmatrix} .
$$
To extract the identity from quaternion expressions, for three cyclic permutations of three generic quaternions $a$, $b$ and $c$, write equations expressing associativity, to form a system of equations:
$$
\left\{
\begin{array}{rcl}
( a b ) c - a ( b c ) &=& 0 \\
( b c ) d - b ( c d ) &=& 0 \\
( c a ) b - c ( a b ) &=& 0 .
\end{array}
\right.
$$
In case the three quaternions are purely non-real, write $a = (0,\mathbf{a})$, $b = (0,\mathbf{b})$ and $c = (0,\mathbf{c})$,
for which the above system implies
$$
\left\{
\begin{array}{rcl}
-( \mathbf{a} \cdot \mathbf{b} ) \mathbf{c}
+\mathbf{a} ( \mathbf{b} \cdot \mathbf{c} )
+ ( \mathbf{a} \times \mathbf{b} ) \times \mathbf{c}
- \mathbf{a} \times ( \mathbf{b} \times \mathbf{c} ) &=& 0 \\
-( \mathbf{b} \cdot \mathbf{c} ) \mathbf{a}
+\mathbf{b} ( \mathbf{c} \cdot \mathbf{a} )
+ ( \mathbf{b} \times \mathbf{c} ) \times \mathbf{a}
- \mathbf{b} \times ( \mathbf{c} \times \mathbf{a} ) &=& 0 \\
-( \mathbf{c} \cdot \mathbf{a} ) \mathbf{b}
+\mathbf{c} ( \mathbf{a} \cdot \mathbf{b} )
+ ( \mathbf{c} \times \mathbf{a} ) \times \mathbf{b}
- \mathbf{c} \times ( \mathbf{a} \times \mathbf{b} ) &=& 0 .
\end{array}
\right.
$$
The cross product terms can be compared more easily if the
anticommutativity of the cross product is applied:
$$
\left\{
\begin{array}{rcl}
-( \mathbf{a} \cdot \mathbf{b} ) \mathbf{c}
+\mathbf{a} ( \mathbf{b} \cdot \mathbf{c} )
- \mathbf{c} \times ( \mathbf{a} \times \mathbf{b} )
- \mathbf{a} \times ( \mathbf{b} \times \mathbf{c} ) &=& 0 \\
-( \mathbf{b} \cdot \mathbf{c} ) \mathbf{a}
+\mathbf{b} ( \mathbf{c} \cdot \mathbf{a} )
- \mathbf{a} \times ( \mathbf{b} \times \mathbf{c} )
- \mathbf{b} \times ( \mathbf{c} \times \mathbf{a} ) &=& 0 \\
-( \mathbf{c} \cdot \mathbf{a} ) \mathbf{b}
+\mathbf{c} ( \mathbf{a} \cdot \mathbf{b} )
- \mathbf{b} \times ( \mathbf{c} \times \mathbf{a} )
- \mathbf{c} \times ( \mathbf{a} \times \mathbf{b} ) &=& 0 .
\end{array}
\right.
$$
The identity results from adding the first two equations of the system, and subtracting the third.