Prove the sufficient and necessary condition for Markov chains to have a unique stationary distribution?

I learned that the sufficient and necessary condition for a finite state Markov chain to have a unique stationary distribution is there's only one closed communication class. For example from this tutorial

Every Markov Chain with a finite state space has a unique stationary distribution unless the chain has two or more closed communicating classes.

I tried to prove that myself and got stuck somewhere. My proof basically goes as follows.

It can be discussed separately in three cases, 1) the whole train itself one closed communication class, 2) it's an absorbing chain with one closed communication class, 3) there're more than one closed communication classes.

For the first case, there's a unique stationary distribution, many proofs can be found online for example here.

In the third case, there's more than one stationary distributions. Let's first say there're two closed communication classes and the rest should be similar. A chain with two closed communicating classes can be represented as $$P= \begin{bmatrix} A & 0 & 0 \\ 0 & B & 0 \\ C & D & E \end{bmatrix}$$ where $$A$$ and $$B$$ are closed communicating classes. From the first case we know they both have a unique stationary distribution, say $$\pi_a$$ and $$\pi_b$$, it follows $$\pi_a=\pi_aA$$ and $$\pi_b=\pi_bB$$.

It's easy to verify $$v_a =[\pi_a, 0, 0]$$ and $$v_b = [0,\pi_b,0]$$ both satisfy $$v=vP$$. Moreover a linear combination in the form of $$\alpha v_a + (1-\alpha)v_b$$ is also a stationary distribution of $$P$$.

The second case is where I got stuck, how to prove there's one and only one stationary distribution in this case? Any suggestions will be appreciated. Also I'll be glad to learn if there's another way of proving it.