What I want
I want to allow in app SSO between the Live Connect SDK and a single Mobile Services instance that I'll use as the backend for 2 applications, WP8 & W8.1. I want to do this without affecting existing users of the WP8 app that is already in the Windows Phone Store. Both apps will use the Live SDK for OneDrive access.
Existing Situation
I have a Windows Phone 8 application that uses Azure Mobile Services and the Live Connect SDK and I have set up SSO by
- Registering the app in the Live Connect Developer Center
- Setting the redirect URL in the Developer Center to the Mobile Services URL (used in the Live Connect authentication token)
- Copying the Client ID into my app and passing it to the Live Connect SDK methods when I log in
- Retrieving the Live Connect authentication token after login and passing it to the Mobile services login
Issues
This is fine but now I want to start building a companion Windows 8.1 app that uses the same Mobile Services instance and SSO but I'm running into a difficulty as below:
- The Live Connect Developer Center app associated with the Windows 8.1 app needs to have the Package SID and the only way I can find to do this is to use the 'associate my app with the Windows Store' tool within Visual Studio. This creates a new app in the Live Connect Developer Center with the Windows 8.1 Package SID. I can't find any way to add this Package SID to my existing Live Connect app (i.e. the one used for the WP8 app).
- I believe I need to use a single, shared Live Connect Developer Center app, and associated Client ID, for both my WP8 and W8.1 apps as the authentication token from Live Connect (documentation here) seems to include the 'user identifier - uid' that is 'An identifier for the user, which is unique to the app'. To me this also implies that if I change the client ID (i.e. effectively a new app from Live Connect's point of view) then it will appear to mobile services as if a new user is signing in and all their old data will no longer be accessible to them.
I have researched other people doing SSO across both platforms and they seem to be using a single app in the Live Connect Developer Center but in all cases that I have seen so far they use the Windows 8.1 app, because this has the Package SID, and set it to 'Mobile or desktop client app'. I have started from the other direction with the phone app first and I can't find any information about this. I'm also trying to avoid testing this all out in a live app in case it does cause issues.
I have posted in both the Mobile Services and Live Connect forums about these issues but without a reply. (I can only provide 2 links, check my profile in the Mobile Services forum for my other post).
My Question
How can I add Azure Mobile Services SSO to my new Window 8.1 app without breaking my existing WP8 app?
Thanks.