login_form

login_form is action that is fired inside of the login form in wp-login.php. Use it to add new fields to the login form. You should be able to catch and process the results via wp_authenticate.

If you wish to halt the processing of the form submit, then you need to make the $errors array a global within your function and then add your error message to it. The key name is not important.

This hook provides no parameters. You use this hook by having your function echo output to the browser, or by having it perform background tasks. Your functions shouldn't return, and shouldn't take any parameters

This hook is an action which means that it primarily acts as an event trigger, instead of a content filter. This is a semantic difference, but it will help you to remember what this hook does if you use it like this: add_action('login_form', 'your_function');

This hook was introduced in WordPress 2.1, and will not work in earlier versions.