{{ !articles[0].partner.isSponsoringArticle ? "Platinum" : "Portal" }} Partner
java,dotnet,how-to,tools,windows,android,data access,.net & windows,azure

Windows Azure Mobile Services Unofficial Android SDK: Authentication Support

I totally forgot to blog about it, but my unofficial SDK has had authentication support for a few days now. This has been pretty easy to implement, actually, thanks to OAuth and the Mobile Services backend.

If you haven’t gotten started with WAMS authentication yet, you really should try it out. It’s easy as pie, really, and you can set yourself up with 3-4 authentication providers in a matter of several minutes. I’ll leave the rest to this great tutorial on authentication with WAMS.

So, if you’ve got the latest version from GitHub, you can now do this to authenticate:

    new MobileServiceLoginCallback() {
      public void errorOccurred(MobileException exception) {
        //Invoked if an error occurred
      public void completedSuccessfully(MobileUser user) {
        //Invoked on success -- user.getUserId()
        //provides the user id
      public void cancelled() {
        //Invoked if the user cancelled the process

As a bonus, the client-side SDK will persist the authentication token returned by WAMS after the login flow completes. (If you care about the details, the token is persisted in a preferences file, and is not encrypted; this is something that needs to be taken care of in the future.) On subsequent runs of your app, you won’t have to display the login flow again to the user. Use the MobileService.isLoggedIn method to determine whether the user is currently logged in, and the MobileService.logout method to log out.

I am posting short links and updates on Twitter as well as on this blog. You can follow me: @goldshtn

Published at DZone with permission of {{ articles[0].authors[0].realName }}, DZone MVB. (source)

Opinions expressed by DZone contributors are their own.

{{ tag }}, {{tag}},

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}
{{ parent.authors[0].realName || parent.author}}

{{ parent.authors[0].tagline || parent.tagline }}

{{ parent.views }} ViewsClicks