if we take a look at how Twitter works, I think the missing point is an other layer to the project: The Official website:

The thing is, when you want to allow any 3rd party application to use Twitter, this application redirect you to the OAuth page of the Twitter API, IF you are connected, but if you aren't, it redirect you to the login page, which is located at http://api.twitter.com/login
(I don't know if keeping the api in api.twitter.com for loging an user, instead of just twitter.com is correct, but this is just semantics)
So, the workflow would be:
- A user goes to a 3rd party application (like a website)
- This third party redirect the user to the API for Authorization
- The API redirect the User to the website for Authentication first
- The official website redirect the User to the OpenId provider (or Facebook connect)
- The Authentication is made (via multiple requests)
- The website redirect the user to the API after he's successfully authenticated
- The user allow/disallow the permissions asked by the 3rd party apps
- The API returns to the 3rd party apps.
- The User can now use (or not) the application.
This implementation have 2 problems:
- Every time an User ins't authenticated (cleared it's cookies, connect himself from an other computer, etc), he will have to go through the Authentication method, by being redirected to the Official website and then being redirected to the 3rd party application (the API would be transparent, since it has already allowed the application to access his data).
- All those layers would certainly lost the User on the Authentication process with too many redirections.
- A possible solution would be to store the user's access_token, for example in the case of a mobile app, but with a pure html/css/js oriented app, this isn't possible. A login/password in the 3rd party web application that would match the user to the access_token of the API would be an other solution, like Seesmic (I think), but this is just useless (for us, not Seesmic) : the idea of not having the user's password become useless.
This is a possible explanation but I would require more details on how this is possible and your thought about that solution. Would it work?
(I added this as an answer since it's an (incomplete and not so sure, I agree) one.