Constructive Proof of Kronecker-Weber?
$\def\QQ{\mathbb{Q}}$ As user8268 says, for quadratics, Gauss sums are enough. Let me make sure you understand that comment: Let $K = \QQ(\sqrt{D})$. For simplicity, I'll do the case the $D$ is a prime $p$ which is $1 \mod 4$ and leave you to make the necessary adjustments in the general case. Let $\zeta$ be a primitive $p$-th root of unity and let $\left( \frac{k}{p} \right)$ be the Legendre symbol. Set $g = \sum_{k=0}^{p-1} \left( \frac{k}{p} \right) \zeta^k$. Then $g^2 = p$. So this shows that $K$ is a subfield of $\mathbb{Q}(\zeta)$.
If $D$ is not prime, or not $1 \mod 4$, you can either multiply together formulas for its prime factors, or you can use the Kronecker symbol which will do it all for you in one swoop.
Now, let's look at cubics. Let the roots of your cubic be $\theta_1$, $\theta_2$, $\theta_3$, with the (abelian) Galois group acting cyclically. Let $K$ be $\mathbb{Q}(\theta_1)$; because of the presumed Galois structure, $\theta_2$ and $\theta_3$ are also in $K$. Let $L = K(\omega)$, where $\omega$ is a primitive third root of unity.
Then $L/\QQ(\omega)$ is a Kummer extension: $L = \QQ(\omega)(\beta^{1/3})$. There is an almost explicit formula for $\beta$: We have $\beta = (\theta_1 + \omega \theta_2 + \omega^2 \theta_3)^3$. (Exercise: Check that $\beta$ is fixed by cyclically permuting the $\theta$'s, and thus lies in $\QQ(\omega)$.) Note that, if you expand this out, you get an expression for $\beta$ as various cyclically symmetric polynomials in the $\theta$'s times powers of $\omega$. The ring of cyclically symmetric polynomials in three variables is generated by the elementary symmetric functions, which are the coefficients of the minimal polynomial of $\theta_1$, and by the discriminant $(\theta_1-\theta_2)(\theta_2-\theta_3)(\theta_3-\theta_1)$ so, if you know these quantities, you can compute $\beta$.
I say "almost" because this quantity could be $0$, if you are unlucky. In that case, replace $\theta_1$ by a different primitive element and try again. From now on, I'll assume you have found a $\beta$ that works. Moreover, we can multiply $\beta$ by cubes of elements in $\mathbb{Q}(\omega)$ without changing the fact that $L = \QQ(\omega)(\beta^{1/3})$. We use this freedom to assume that every prime divides $\beta$ with multiplicity between $0$ and $2$. (Recall that $\mathbb{Z}[\omega]$ is a UFD.) So $$\beta = \epsilon \sqrt{-3}^k \prod_{p_i \equiv 1 \mod 3} \pi_i^{a_i} \overline{\pi_i}^{\overline{a}_i} \prod_{q_i \equiv 2 \mod 3} q_i^{b_i}$$ where $\epsilon$ is a unit, $p_i$ and $q_i$ are primes of $\mathbb{Q}$, the prime factorization of $p_i$ in $\mathbb{Z}[\omega]$ is $\pi_i \overline{\pi_i}$ and we have $0 \leq k, \ a_i,\ \overline{a_i}, \ b_i \leq 3$.
Let bar denote the symmetry which exchanges $\omega$ and $\omega^{-1}$, which preserving the $\theta_i$'s. (This is consisting with the notation $(\pi, \overline{\pi})$ introduced above.) Let $N = \beta \overline{\beta}$. Observe that $N = M^3$, where $M = \sum \theta_i^2 - \sum_{i<j} \theta_i \theta_j$. So $M$ is rational, and you could extract $M$ directly from the minimial polynomial of $\theta$.
So we see that $\beta \overline{\beta} = M^3$ and so $$(3)^{2k} \prod_{p_i \equiv 1 \mod 3} p_i^{a_i + \overline{a_i}} \prod_{q_i \equiv 2 \mod 3} q_i^{2 b_i}$$ is a cube. Together with the fact that the exponents are supposed to be between $0$ and $2$, we see that $k$ and $b_i$ are zero and that $(a_i, \overline{a_i})$ are $(0,0)$, $(1,2)$ or $(2,1)$. So $\beta$ must be of the form $$\epsilon \prod \pi_i \overline{\pi_i}^2$$ where $\epsilon$ is a unit and we may have switched the names of $\pi_i$ and $\overline{\pi}_i$ in some places. We can extract the primes $p_i$ occurring above by factoring $M$; that's a quite reasonable computation. To figure out exactly which unit we get and to figure out which of the two factors of $p_i$ gets squared, I think you honestly need to work in the extension fields. Theoretically, though, everything I have said is constructive.
This is a good place to pause.
Our temporary goal is to show that $\beta^{1/3}$ is in a cyclotomic extension. (Just like before we wanted to show that $\sqrt{D}$ was in a cyclotomic extension, but this time we will have to do more work after that.) I will restrict to the case that $\beta = \pi \overline{\pi}^2$, just like I restricted myself before to the case that $D$ was a prime which was $1$ modulo $4$. I'll also want to assume that $\pi \equiv 1 \mod 3$; this tells you which of the six generators of the ideal $(\pi)$ I should focus on. (Analogously, I used the prime $p$, not $-p$, back in the quadratic case.) Removing these restrictions is further work, but it doesn't require too much new insight.
Let $\zeta$ be a $p$-th root of unity. Let $\chi: (\mathbb{Z}/p)^* \to \{ 1, \omega, \omega^2 \}$ be a multiplicative character, and extend it to $\mathbb{Z}/p$ by $\chi(0)=0$. Define $$\gamma = \sum_{k=0}^{p-1} \chi(k) \zeta^k.$$ It is not too hard to show that $\gamma^3$ is fixed by $\mathrm{Gal}(\QQ(\omega, \zeta)/\QQ(\zeta)$, so $\gamma$ is in $\QQ(\omega)$.
Stickelberger's relation states that the ideal $(\gamma^3)$ is equal to the ideal $(\pi \overline{\pi}^2)$, after possibly switching $\pi$ and $\overline{\pi}$. I believe the right statement, if I choose $\pi$ to be $1 \mod 3$, should be that $\gamma^3 = \pi \overline{\pi}^2$, again up to the above switching, but I can't find a reference for this so be forewarned.
Unfortunately, the Wikipedia article on Stickelberger's theorem is very abstract. Try these notes from my colleague Kartik for a more down to earth presentation. Note that his $(m, l)$ are my $(3,p)$.
So, up to getting the details right here, $\gamma^3 = \pi \overline{\pi}^2 = \beta$. So $\beta^{1/3}$ is in $\QQ(\omega, \zeta)$. This is the hard part, now we have to clean up the details.
For simplicity, lets assume that $\beta = (\theta_1 + \omega \theta_2 + \omega^2 \theta_3)$ on the nose, without us having had to multiply or divide by any cubes. So $$\gamma = \beta^{1/3} = \theta_1+ \omega \theta_2 + \omega^2 \theta_3.$$
Let bar act on $\QQ(\omega, \zeta)$ by switching $\omega$ and $\omega^{-1}$, while fixing $\zeta$. Then we have: $$\overline{\gamma} = \theta_1 + \omega^2 \theta_2 + \omega \theta_3.$$
And, of course, $$\mathrm{Tr}(\theta_1) = \theta_1 + \theta_2 + \theta_3,$$ and this is a rational number which can be computed from the minimial polynomial of $\theta_1$.
Solve these linear equations, and you get an expression for $\theta_1$ as an explicit element of $\QQ(\omega, \zeta)$, a cyclotomic field.
In summary, you need to perform a bunch of operations with symmetric polynomials to find out what $\beta$ is; you need to do factorization in $\mathbb{Z}[\omega]$ in order to find the $\pi_i$ (although you can turn it into a smaller factorization problem in $\mathbb{Z}$ by looking at $M$ instead), you need to write down a bunch of Gauss sums and you need to do some final linear algebra. Stickelberger's relation appears to save you at a miracle point.
This same outline will get you through $\mathbb{Z}/4$ extensions, and is a good exercise to make sure you understand the above. Once you get past there, life becomes much harder. There are two problems (1) you may not have unique factorization but, before that (2) the unit groups of your cyclotomic fields become infinite! I could leave dealing with units as an exercise as long as it was just a finite list to check off, but once the unit group gets infinite, the issue seems very hard to me. I tried to come up with a "brute force" proof of Kronecker-Weber a few years ago, and that is where I got stuck. I'd be curious to hear any ideas for how to get past this.
$\def\QQ{\mathbb{Q}}\def\ZZ{\mathbb{Z}}\def\Gal{\mathrm{Gal}}\def\char{\mathrm{char}}$I want to record here what can be done reasonably easily following the approach of my 2011 answer. I have a plan for a much larger blog post, but it is an ambitious one so it may be several months until I get to write it. The aim of this answer is to provide a concrete proof of the following:
Suppose that $K/\QQ$ is Galois with Galois group $\ZZ/p$, where $p$ is a regular prime. Then $K$ is contained in a cyclotomic field.
Making $p$ irregular seems to force more advanced methods, either involving ramification groups or the Stickelberger theorem. Working with prime powers rather than primes seems to only require more care (especially $2^t$), not more high power tools, but it is a lot of work.
The case $p=2$ was done in the other answer, so I assume $p$ odd.
Let $\zeta_p$ be a primitive $p$-th root of unity. We have $\mathrm{Gal}(\QQ(\zeta_p)/\QQ) \cong (\ZZ/p)^{\ast}$. Explicitly, for $a \in (\ZZ/p)^{\ast}$, let $\sigma_a$ be the element of $\mathrm{Gal}(\QQ(\zeta_p)/\QQ)$ with $\sigma_a(\zeta_p) = \zeta_p^a$.
Basic computations
Let $\beta \in \QQ(\zeta_p)$. We would like to know whether or not $\QQ(\zeta_p,\beta^{1/p})$ is Galois and abelian over $\QQ$.
Claim 1 $\QQ(\zeta_p,\beta^{1/p})$ is Galois and abelian over $\QQ$ if and only if, for all $a \in (\ZZ/p)^{\ast}$, we have $$\sigma_a(\beta) = \beta^a f_a^p \quad (\ast)$$ for some $f_a \in \QQ(\zeta_p)$.
Proof: Suppose that $\QQ(\zeta_p,\beta^{1/p})$ is Galois and abelian over $\QQ$. Fix $a$ in $(\ZZ/p)^{\ast}$. Lift $\sigma_a$ to some automorphism $\sigma \in \Gal(\QQ(\zeta_p, \zeta^{1/p})/\QQ)$ and let $\tau \in \Gal(\QQ(\zeta_p, \zeta^{1/p})/\QQ(\zeta_p))$ be the automorphism $\tau(\beta^{1/p}) = \zeta_p \beta^{1/p}$.
Since $\sigma$ and $\tau$ commute, we compute $$\tau(\sigma(\beta^{1/p}))= \sigma(\tau(\beta^{1/p})) = \sigma(\zeta_p \beta^{1/p}) = \zeta_p^a \sigma(\beta^{1/p}).$$ We also have $$\tau(\beta^{a/p}) = \zeta_p^a \beta^{a/p}.$$ Therefore, $\sigma(\beta^{1/p})/\beta^{a/p}$ is fixed by $\tau$. Since $\tau$ generates $\Gal(\QQ(\zeta_p, \beta^{1/p})/\QQ(\zeta_p))$, we deduce that $\sigma(\beta^{1/p})/\beta^{a/p} = f_a$ for some $f_a \in \QQ(\zeta_p)$, and thus $\sigma_a(\beta) = \beta^a f_a^p$.
Conversely, suppose that $(\ast)$ holds. We can reverse the argument to show that $\QQ(\zeta_p, \beta^{1/p})/\QQ(\zeta_p)$ is Galois and $$1 \to \Gal(\QQ(\zeta_p, \beta^{1/p})/\QQ(\zeta_p)) \to \Gal(\QQ(\zeta_p, \beta^{1/p})/\QQ) \to \Gal(\QQ(\zeta_p)/\QQ) \to 1$$ is a central extension. But $\Gal(\QQ(\zeta_p)/\QQ)$ is cyclic, so every central extension of it is abelian. $\square$
Let $\beta$ as above and let the ideal $(\beta)$ factor into primes as $(\beta) = \prod \pi^{v_{\pi}(\beta)}$. Note that, if $q$ is a prime of $\ZZ$ which is $1 \bmod p$, then $q$ splits completely in $\QQ(\zeta_p)$. Fix for convenience a particular $\pi_q$ lying over $q$ for each such $q$. For any prime $\pi$ of $\QQ(\zeta_p)$, let $\mathrm{char}(\pi)$ be the characteristic of the residue field.
Claim 2 With the above notation, there are constants $c_q$, one for each $q \equiv 1 \bmod p$ such that $$v_{\pi}(\beta) \equiv \begin{cases} 0 \bmod p & \char(\pi) \not \equiv 1 \bmod p \\ c_q/a & \pi = \sigma_a(\pi_q),\ q \equiv 1 \bmod p \\ \end{cases}.$$
Proof If $\char(p) \not \equiv 1 \bmod p$, then there is some non-identity $a$ with $\sigma_a(\pi) = \pi$. (Here we use $p \neq 2$. Otherwise, $p=2$ and $\pi = (2)$ is a counterexample.) Then $(\ast)$ implies that $a v_{\pi}(\beta) \equiv v_{\pi}(\beta) \bmod p$, so $v_{\pi}(\beta) \equiv 0 \bmod p$.
If $\char(\pi) = q \equiv 1 \bmod p$, then $(\ast)$ implies that $v_{\pi_q}(\sigma_a^{-1}(\beta)) \equiv a^{-1} v_{\pi}(\beta) \bmod p$, so $v_{\sigma_a(\pi_q)}(\beta) \equiv a^{-1} v_{\pi}(\beta) \bmod p$ and the result follows. $\square$
Before proceeding to the proof, we need a supply of $\gamma$'s for which $\QQ(\gamma^{1/p},\zeta_p)$ is cyclotomic. If $q$ is a prime which is $1 \bmod p$, then $\Gal(\QQ(\zeta_q, \zeta_p)/\QQ) = (\ZZ/q)^{\ast} \times (\ZZ/p)^{\times}$ surjects onto $(\ZZ/p) \times (\ZZ/p)^{\times}$, so there is some field tower $K \supset \QQ(\zeta_p) \supset \QQ$ with $\Gal(K/\QQ) \cong (\ZZ/p) \times (\ZZ/p)^{\times}$. By Kummer theory, we must have $K = \QQ(\zeta_p, \gamma_q^{1/p})$ for some $\gamma_q$. From the previous computations, we know that $v_{\pi}(\gamma_q) \equiv 0 \bmod p$ if $\char(\pi) \not \equiv 1 \bmod p$. Considering ramification, or computing with Gauss sums, we also have $v_{\pi}(\gamma_q) \equiv 0 \bmod p$ if $\char(\pi) = q' \neq q$ with $q' \equiv 1 \bmod p$, and there is some $b \in (\ZZ/p)^{\ast}$ such that $v_{\sigma_a(\pi_q)}(\gamma_q) \equiv b/a \bmod p$. We may (and do) replace $\gamma_q$ by $\gamma_q^{1/b \bmod p}$ so that $v_{\sigma_a(\pi_q)}(\gamma_q) \equiv 1/a \bmod p$. (Stickelberger's relation gives an explicit choice of $\gamma_q$ with this normalization.)
The proof Now, suppose that $K/\QQ$ is Galois with Galois group $\ZZ/p$. Then, by Kummer theory, $K(\zeta_p) = \QQ(\beta^{1/p}, \zeta_p)$ for some $\beta$, and $\beta$ must obey condition $(\ast)$.
We will show that $\beta$ is in the group generated by $(\QQ(\zeta_p)^{\ast})^p$, by the $\gamma_q$ and by $\zeta_p$.
We first consider the factorization of $(\beta)$ into prime ideals: $(\beta) = \prod \pi^{v_{\pi}}$, which is described by Claim 2 above. We replace $\beta$ by $\beta \prod \gamma_q^{-c_q}$. After making this replacement, we have $v_{\pi}(\beta) \equiv 0 \bmod p$ for all $\pi$.
Thus, we can assume that $(\beta)=I^p$ for some ideal $I$. Since $p$ is regular, we deduce that $(\beta) = (f^p)$ for some $f \in \QQ(\zeta_p)$. Replacing $\beta$ by $\beta f^{-p}$ does not change the extension, and we may now assume that $\beta$ is a unit.
We abbreviate $\sigma_{-1}(x)$ by $\bar{x}$, since in any complex embedding of $\QQ(\zeta_p)$, the element $\sigma_{-1}$ acts by complex conjugation. Taking $a=-1$ in $(\ast)$, we have $$\beta \bar{\beta} = \theta^p$$ for some $\theta$ and, since $\beta$ is a unit, so is $\theta$. Hitting both sides of the equation with complex conjugation, we have $\theta^p = \bar{\theta}^p$.
Now, replace $\beta$ by $$\beta' := \beta\cdot (\theta^{(p-1)/2}/\beta)^p.$$ (This is the second time we have used that $p \neq 2$, to make $(p-1)/2$ an integer.) Note that $\beta'$ is likewise a unit. We have $$\beta' \bar{\beta'} = \frac{\beta \bar{\beta} \theta^{p(p-1)/2} \bar{\theta}^{p (p-1)/2}}{\beta^p \bar{\beta}^p} = \frac{\theta^p \theta^{p(p-1)/2} \theta^{p(p-1)/2}}{\theta^{p^2}} = 1.$$
We see that $\beta'$ is a unit of $\QQ(\zeta_p)$ such that $|\beta'|=1$ in every complex embedding. So, by a result of Kronecker, $\beta'$ is a root of unity. We see that $\QQ(\beta'^{1/p}, \zeta_p)$ is cyclotomic, as promised.