I have an iOS application that uses OAuth to access a user's Yahoo email account. I am able to acquire an access token and all of its components in the form of a dictionary with the following keys: authExpires, guid, key, secret, sessionHandle, tokenExpires.
I am having difficulty with the last step: for other email services I am able to authenticate an IMAP session via OAuth using the user's email address in the form of a string and the access token, also in the form of a string. However in this case, because I am using the Yahoo's OAuth iOS SDK, the access token is a YOSAccessToken object with the properties I listed above. When I try to pass in this object (either as a format string or as is) I get the following error: "MCOIMAPSession:  1 BAD [CLIENTBUG] Invalid command or arguments".
I have also tried passing in the access key and the access secret and a string that concatenates all of the token components together. Everything I have tried yields the above error. I also am not sure if I should pass in the user email address (pulled from a profile dictionary) or the session handle or what.
I AM able to login directly to a Yahoo email account with IMAP (no OAuth) and this works fine - so I know my settings and account are valid.
Any update on this? Forcing a user to put their email/password rather than clicking one button to use Oauth is a significant barrier to entry for a lot of users. We are looking to bring Yahoo mail support to our app
However exchange is going to be next on the list until Yahoo allows utilizing Imap via Oauth.