Google Oauth authentication is a three legged process:
- Obtaining the Request Token
- Authorize that request token
- Exchange the authorized request token for an access token
Username and password is required at the second stage of this process where the user, by using his login credentials, authorize the client application to access its private data stored in the google server.
Now to the question that @Luis raised which is, is there a way to send the username and password together with the other oauth values? The answer is No. It is not possible to send the username and password in the Authorization header nor in the query parameter of the authorization URI. The reason being the user should always be made aware that the client (which is your application) is using the user's data. Hence the user is always redirected to the webpage where he/she is asked to provide the login credentials. This also allows the user to set restrictions with respect to access control on his private data, for the application.
If the application is allowed to store and send the user login credentials along with the Oauth Authorization headers, then the user will never know that the application is using its private data nor can it set any sort of restrictions for the application.
Hope this explanation helps.