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.
It looks like this question may have already been covered here:
Live Connect Authentication Token for use on Azure Mobile Services (REST)
Hope that helps!
This question has been answered by Matthew Henderson in the Azure Mobile Services forum
The simplified version is you need to use one Live Connect app in the Developer Center (i.e. the same Client ID used by both the W8.1 & WP8 apps)
To do this you either need to either:
a) Start with the Windows 8.1 app which will register the SID with the Live Connect app (this is the documented and easiest path) and then re-use this Client ID in the Windows Phone 8 app
OR
b) If you already have a Windows Phone 8 app as I did then you can change the automatically created SID association in the Live Connect Developer Center to allow the Windows 8.1 app to use the existing Windows Phone 8 Client ID. This is a less well documented feature.
Related
While working with Windows Phone Push Notifications, I got myself stuck in the part of creating the "cloud web service" to receive the negotiated URL and retrieve updates to the mobile device.Is it possible to create this Web Service without using Windows Azure services (I don't want to pay anything, I just want to push with my services to my apps)? And how can I create this Cloud Web Service.
I haven't worked extensively with Windows Phone 8.1. Check this webpage for Windows Phone 8 -
https://msdn.microsoft.com/en-us/library/windows/apps/hh202970%28v=vs.105%29.aspx
You will get a URL for each device you want to get notification on through the app you create. Taking help from the above link, you can create a local server (Cloud Web Service) for testing push notifications for your test devices.
I try to initialize Windows phone 8 application with Parse. I would like to use Push notifications. In the Parse's web settings are Package Security Identifier (SID) and Client Secret required. I am not able to find what should I insert into these two textboxes. Windows Phone application has only its own App ID...
Can you tell me what is the right way how to set the Windows phone application up?
Thank you.
Myth Rush
You are going to have to register your application with the windows store
The following documentation goes through how to do it for azure.. But the process should be the same fore you.
https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-dotnet-backend-windows-store-dotnet-get-started-push-preview/
In the Windows Dev Center page for your new app, click Services.
In the Services page, click Live Services site under Microsoft Azure Mobile Services.
In the App Settings tab, make a note of the values of Client secret and Package security identifier (SID).
I have developed Windows Phone Silverlight application (support 8.0 and 8.1) for my client request. The client is goint to publish the application in WP app store, but first he must check on his phone if everything is OK with the application.
The application was developed with Visual Studio 2013, I've got developer account and own phone assigned to this account on which I have tested the application.
The question is, how can my client install the application on his own phone skipping windows app store? I have sent him builded *.xap file but he had a some problems with installation (Cannot install company application)?
You can submit your app to Windows Phone Store BETA. Your app will by certified quickly, and your client will be able to download it just like any other app from Store. The difference is that it will be visible and possible only for him.
Log in to you DevCenter account, click Submit App. Then, in App info section expand More options and select Beta. Then you can provide your client's mail.
I'm not sure, but I think that the name of the app should not be the same as the final version. So you can name it "My App Beta" to avoid future name conflict with the final version.
One more thing. When your app pass certification process, you have to send the link to the app to your client, because he won't get any notification.
I know what is metro app (just did some research) my question is where metro app runs. By my understanding :
Detktop app: running on your local machine with .net framework, and present data to user, you can launch/close it.
Web app: Publishing on IIS server, running from server render html to client, user can send request and get result.
Now, Metro app: is it just distributed on windows store, user can download/install it and run from local as same as desktop? or run from store, render something to user like web? or maybe some new working styles, can user close it?
Metro Style App was a working name before Microsoft settled on Windows Store Apps.
Windows Store Apps just like desktop apps run on local machine, but are often architected in more modern ways where the app would often connect to web services or push notifications that run in a data center. The UI though usually runs on local machine even if it is written in html/js with winjs.
The biggest difference is distribution - web apps run on the server so you only need to navigate to them in your browser to run the latest version. Desktop apps need to be installed - either with xcopy-style install, Windows installer or perhaps the ClickOnce technology. Store apps are distributed through the store which makes them easier to install and update than desktop apps as well as monetize, but are sandboxed (have limited access to local machine resources) for security.
Setup :
ASP.Net WebApi2 Setup using Individual Template
Windows Store App
Windows Phone 8 App
Portable Class Library for Api Consumption
The PCl encapsulates all the api calls so that both the store app and phone app can share the code. I am able to register and login using the local accounts. But i also need to be able to log the user in to the api via Facebook, Google etc. How do i put this in the PCL? I thought of using WebAuthenticationBroker but it seems it's not available in PCL.