Vibrant discussion about CSLA .NET and using the framework to build great business applications.
What is the most common authentication scenario that will be used by a WinRT (metro) app that needs to connect to a remote DP on a server? I'm going back through the authentication section in the Using DataPortal e-book, and I'm wondering what most people are doing in their app's for authentication.
For background - I'm planning on using Windows Azure to host my remote DP and SQL database, so I'm not sure if that locks me in to one particular scenario.
I haven't really explored this in detail yet. Thus far I've been using the WinRT and Live SDK ability to get at the user's Live ID and profile information to create a principal/identity object by using the local data portal.
Certainly you can use the same techniques used in Silverlight to get at a server-side identity (Windows or custom).
WinRT doesn't appear to have any System.Threading.Thread.CurrentUser like .NET - so it is much more like Silverlight in that regard.
Thanks. I've only read a brief description on the Live SDK and I wonder if going that route would force me to have a separate way to authenticate if I also wanted to create an iPad app for the same content. Does anyone know if the Live SDK is available to iPad apps?
I was looking at ASP.NET Membership, but I'll do more research on the Live SDK.
I guess I found an answer to my last question. Per Microsoft's Live Connect site:
The Live SDK is also available for Windows Phone, Android and iOS. The Live Connect APIs use open standards like OAuth 2.0, JSON, and XMPP, making them easy and familiar to work with.
Rocky, I know this is off topice to CSLA, but can you share how you associate a user authenticated with Live ID with the user profile you store in your own database? In other words, once you authenticate the user via the Live SDK, what type of data do you use from the information returned by Live to then find that user's records in your database? Right now, I have a UserId column in my tables defined as an Int, but perhaps I'll have to switch to something else. Thanks.
I think the only fixed value is the email address? That's my assumption anyway.