I do it on my pellet stove outside (I used to use the oven, but the smell/smoke is not pleasant in the house). Preheat to 375F. Coat the pan (inside, outside, handle...the whole thing) in a THIN layer of oil. I use rapeseed oil or avocado oil. The point is to use one with a high smoke point. I have also used peanut oil.
Put the pan in upside down for an hour. Remove it, cover with another THIN coat of oil. Back in the oven. Another hour. Remove it, coat it, and back in the oven for a third hour. During the third hour, dice a red onion. When the pan comes out, put it on a burner over medium heat and cook the onions in the same oil you used to season the pan. This will remove any "metallic" flavor the pan had, and will perform some magic on how non-stick the seasoning is. I don't know how or why this works, but it does. Cook the onions until they're basically burned, then discard them.
I do this once a year for all of my pans and the seasoning holds up easily through a year of heavy use.
I wash the pans by hand with no soap (if you deglaze the pan after cooking, this is much easier) and I avoid soaking water in the pan. If I have a stubborn something stuck to the pan, I'll boil some water in the pan for a few minutes, then wash it.
After washing it, I put it on the burner on medium-high heat until all the water evaporates, turn off the heat, then coat the pan with a thin layer of cooking oil, shortening, or lard using a paper towel. Now the pan is ready for next time, and it won't rust in the meantime.
EDIT: I use the same method listed above for my carbon steel cookware as well, and it's just as effective for those.