Tag Archives: BaaS

Back to blog home page

Meet Backand’s New Serverless SDK

Posted by on Feb 14, 2017

Backand is proud to announce our new Serverless SDK. With the launch of this SDK, we offer super-easy access to all core functionality of our powerful backend-as-a-service. We also have compartmentalized our SDK to allow for easy integration on multiple major serverless app development platforms.

In this post, we’ll walk through the new Serverless SDK structure. We’ll outline the core functionality, take a look at the new platform-specific SDKs, and then provide a few examples of how to easily work with Backand in your application.

Serverless SDK Functionality

The Backand Serverless SDK offers quick and easy access to core Backand app functionality:

  • Authentication and Security – The SDK provides easy-to-use functions that wrap all of the functionality necessary to authenticate users with your application, whether via a custom user structure, or by leveraging social media providers for authentication.
  • Object Manipulation – The Backand Serverless SDK offers intuitive and flexible methods that you can use to interact with objects in your Backand application. These are available in the SDK under the ‘object’ property – simply provide the name of the object you wish to work with, and you’re ready to go!
  • Custom Actions and Queries – The SDK offers quick and easy ways to access the custom actions you have defined in your Back& application, again via the ‘object’ interface. We also offer a ‘query’ object, which allows you to easily leverage custom SQL queries built for your application’s specific database needs.
  • File Management for Node.JS Actions – This release makes working with custom server-side Node.JS JavaScript actions a snap. Simply access the ‘file’ property of the Backand SDK, and you can easily add or remove files from your server-side Node.JS action.
  • Quick and Easy Real-time Functionality – Through our integration with Socket.io, you can easily add real-time communication features to your application. Simply make use of the “.on” event handler to subscribe to broadcast events, and you are ready to go!

New SDK Structure

The original SDK was fully built out for each platform on which it was offered. This led to a lot of duplication in functionality. Recognizing this, we’ve chosen a new approach that lets developers more easily work with the SDK on their chosen platform. Below is a quick list of the available SDKs that comprise our Serverless SDK, and how they work together:

  • https://github.com/backand/vanilla-sdk – This is our plain vanilla JavaScript SDK. It can be used with any web application via simple includes. All other SDKs wrap this project and depend upon this project.
  • https://github.com/backand/angular1-sdk – This is our Angular 1 wrapper SDK. This wraps the Vanilla SDK, providing objects and services for Angular 1-based apps that make the SDK a snap to integrate.
  • https://github.com/backand/angular2-sdk – This is our Angular 2 wrapper SDK. Similar to the Angular 1 SDK, it wraps the Vanilla SDK’s functionality with several useful Angular 2 objects, encapsulating all of the functionality into an easy-to-use service provider object.
  • https://github.com/backand/redux-sdk – This is our Redux/ReactJS wrapper SDK. It offers tools to construct all of the Actions, Reducers, and Types necessary to work with the underlying Vanilla SDK, making it very easy to integrate Back& with your Redux application.

Improvements over the previous SDK

In addition to refactoring the code to more closely match how it is used by developers, we’ve made several changes that make working with Back& easier than ever:

  • No more $http – The original SDKs were built around web requests sent with the $http object. All of this has been encapsulated within the SDK, allowing you to replace complex and obtuse JavaScript dedicated to constructing a request with a simple, one-line function call.
  • Promises – The new SDK returns objects as promises, allowing you to more easily handle the responses from your app’s backend in an asynchronous manner. Simply define your callbacks and provide them to the SDK using the ‘.then()’ and ‘.catch()’ functions.
  • Easy Social Sign-On – The new SDK provides quick and easy integration with social media providers, handling all of the back-end complexity of user management and authentication so that you can focus on what makes your app unique.
  • Token Management – Gone are the days of having to manually construct headers – the SDK handles authentication and authorization tokens on your behalf. Simply tell the SDK when someone has signed in or signed out, or even enable anonymous authentication – all with easy-to-use function calls.

Conclusion

Our goal at Backand is to help developers and organizations more easily achieve their application development goals. With the release of our Serverless SDK, we’ve made huge strides in usability and availability of our SDK. You can read more in our documentation, take a look at our Vanilla SDK for an overview of the API, or begin working with the examples on our Github page. With Back&’s new Serverless SDK, you’ll find that creating a cross-platform and cohesive Progressive Web App experience is easier than ever.

Don’t have a Backand account? You can get one for free

Back to blog home page

Authentication-as-a-Service: Auth0 vs. Backand

Posted by on Feb 09, 2017

Authentication-as-a-Service (or AaaS) is focused on encapsulating the business functionality around user authentication. Using a AaaS provider, such as Backand or Auth0, lets you easily integrate with an authentication system, and focusing your efforts on the unique aspects of your app that deliver the most value to your users.

Auth0 is one of the most popular Authentication-as-a-Service (sometimes also referred to as Identification-as-a-Service or IDaaS) providers, allowing developers to easily integrate with authentication providers, such as Google, Facebook, Twitter and others. Auth0 ships with integrations to multiple social media providers, as well as a custom user management scheme. In this article, we’ll take a closer look at the features Auth0 has to offer, and how they compare with Backand’s authentication functionality.

Choosing an AaaS Provider

It is important to note from the start that Auth0 and Backand have different targets. Auth0 is a pure-play Authentication-as-a-Service, and designed to work as one component within a larger application. Backand has a broader scope, providing Backend-as-a-Service (BaaS or MBAaaS) functionality. As such, the feature set Backand has to offer will be more robust. You can build parts – maybe even significant components – of an application with Auth0, but you’ll ultimately either need to provide a server or some other kind of back-end functionality. With Backand, you don’t need anything else – all of your tools are available at your fingertips, and you don’t need to work with any external providers.

While Auth0 has a number of robust features related to security, and more focus on provider authentication integrations, ultimately you’re still faced with the fact that when you’ve implemented all of the features Auth0 has to offer, you’ll still need a back-end application to implement them in. Backand offers you most of the same features as Auth0, but also gives you all of the tools you need to build your app in a completely serverless fashion. With Backand, all of your functionality, security, and business rules can be implemented in the same place, providing a singular access point that makes maintenance, troubleshooting, and integration of the final results easier than a multi-tenant system leveraging multiple solutions.

Comparing Auth0 and Backand

Below is a quick feature-by-feature comparison of Auth0 and Backand:
comparison table of Auth0 and Back&

Conclusion

Auth0 is a robust and full-featured Authentication-as-a-Service provider. They offer  user registration, authentication, and user security. However, Auth0 is not powerful enough to fully replace your application’s back end, Backand, by comparison, offers most of the same features: Single Sign On, user registration and authentication, social media provider plugins, security-related callback functionality, and more – along with the additional features you need to fully develop, maintain, and even host your application. Depending on your use case, Auth0 may be right for your application, but if you’re looking to build a serverless application, you’ll be better off working with Backand.

Back to blog home page

Are Progressive Web Apps the Future or Just a Fad?

Posted by on Jan 24, 2017

The industry has been talking about progressive web apps (PWAs) for some time now – Google introduced them in 2015, but they’ve taken some time to come mainstream. In case you’re a bit late to the game, PWAs tap into the modern capabilities of the web yet offers a native app-like experience for the user.

Native apps were previously seen by businesses as the golden child of the mobile world as they offered unique experiences that web apps just couldn’t compete with. Most importantly they worked offline and allowed for push notifications – both big selling points for brands but not necessarily deal breakers for the end user. However, as the technology of the web has advanced by leaps and bounds in the last few years, this selling points no longer hold water.

From a user perspective, why would one download an app which takes up precious space on their devices when they could get more or less the same experience on the web? Need to know what the dollar exchange rate is? The weather? Thanks for the quick answers Google! Want to browse an e-commerce site? No problem thanks to the development of responsive web design.

However, by tapping into the technological advances of the modern web which is exactly what progressive web apps do, it’s hard to see the value of developing a native app. The benefits of PWAs for both the company and users are undeniable.

The Advantages of PWAs

No Updates: For users, ensuring that apps are up to date is a pain whereas with PWAs, just like web pages, users get the most updated version every time they visit the site.

Low Friction: Users don’t need to go to app stores, search for the app, download it, wait for it to finish installing and then open it – each of these steps, although simple, will cost you 20% of your users.

High Engagement: PWAs can easily be added to a user’s home screen allowing for instant accessibility. Service Workers offer the ability to send push notifications and can handle caching and content fetching quite easily.

Reliable: Again, Service Workers handle the brunt of things, enabling PWAs to work quickly and smoothly even when the user is offline or has a low-quality network.

Shareable: A positive review from a friend is worth its weight in gold so the fact that PWAs can be shared just like websites (and unlike native apps) via a URL. Building on this, PWAs can easily be bookmarked on a device for quick access without taking up precious space on a device.

Discoverable: Search engines can easily find PWAs because they act as websites. Ever tried getting your native app into the top 50 apps on an app store?

The Disadvantages of PWAs

With all that’s good, comes some bad but is it enough to derail the sudden lunge towards PWAs?

Social Logins: Users have become so used to the simplicity of one-click social logins which aren’t possible with PWAs.

Hardware Technology: PWAs are browser based so if a browser can’t support a technology that your app needs (for example, fingerprint scans), then it’s basically useless.

Discoverability (the other side): App stores get tons of traffic, and while a website can direct traffic to the store for a download, the reverse direction doesn’t work.

The Bottom Line

The real question is, if you’re about to build an app, should you put your time and resources towards a native app or start with a PWA? Like with any decision, there are benefits and drawbacks to both options. But, with the rapid development of web technologies, it seems to us that PWAs are here to stay and they are only going to get better.

Back to blog home page

Authenticate Angular with Azure Active Directory Using Backand

Posted by on Jan 17, 2017

Last week, we discussed at a high level using Azure Active Directory for SSO with Backand. This week, we’re taking a deeper dive into how to do it.

Most apps of a non-trivial nature will, at some point, need to tackle user authentication. While a custom user management system can be a good option, usually you can save some development time by offloading your registration, authentication, and verification functionality to a third party.

If you’ve been working on a hybrid app using tools like Ionic, AngularJS, and Backand, you are given access to multiple authentication options provided by third parties due to Backand’s extensive integration with authentication providers.

Microsoft Azure is one such option that’s growing in popularity among developers and users. Below we’ll look at the steps necessary to integrate Azure Active Directory (Azure AD) and Active Directory Federation Services (ADFS) into your Backand-powered hybrid app.

Configuring Azure AD

Azure AD is Microsoft’s multi-tenant cloud-based directory and identity management system. It allows you to quickly incorporate Azure AD-based Single Sign On into your application, giving you access to thousands of users in the Microsoft ecosystem that will now be able to use your app without having to go through the headache of registration and verification. By leveraging Microsoft’s software in the cloud, you can both reduce your development budget and provide a level of ease-of-use to your users that is becoming the standard in many corners of the web.

To integrate your app with Azure AD, you first need to register your application with Azure. To do so, follow these steps:

  1. Log into the Azure portal at https://portal.azure.com
  2. Select “Azure Active Directory” from the navigation menu on the left(1)
  3. Select “App Registrations”
  4. Click “Add”, and use the following parameters for your new application:
    a) Name: Backand
    b) Application Type: Native
    c) RedirectURI: https:///api.backand.com/1/user/azuread/auth
  5. Click “Create”
  6. Click on the new Backand app, and copy down the Application/Client ID. An example value is 7c799275=11-2=4aa6=b36a-fac7aa7fee60
  7. Click on the “Endpoints” menu and copy the “OAUTH 2.0 AUTHORIZATION ENDPOINT” URI(2)

Notes:
(1) If you do not have an Azure AD subscription, this page will show a warning indicating that you do not have access. You’ll either need to contact the admin for your Azure AD account, or register a trial developer account to continue. Consult Microsoft’s documentation in this case
(2) For Backand applications, only a portion of the OAuth 2.0 Authorization Endpoint – copy everything in the URI up to and including “/oauth2”, and ignore the remaining components of the URI.

At this point, you’re ready to integrate Azure AD into your Backand Dashboard. But first, let’s explore how to configure ADFS.

Configuring ADFS

If you’re not comfortable having a third party own your user’s data, you can connect your application to a local implementation of Active Directory Federated Services, or ADFS. ADFS provides you with all of the functionality of Microsoft’s ActiveDirectory infrastructure, but without having to compromise your organization’s IT security by integrating an internet product into the stack. To integrate your app with a local ADFS installation, follow these steps:

  1. Open a Windows Shell on your ADFS server with Administrator privileges (right click cmd.exe and select “Run as Administrator”)
  2. Run the Add-AdfsRelyingPartyTrust with the following parameters (adjust the defaults as necessary):
    Authenticate Angular with Azure Active Directory using Backand
  3. Run Add-ADFSClient to register Backand as a client application within your ADFS install.(1) Make note of the ClientId and RedirectUri you use here – you will need them later:
    Authenticate Angular with Azure Active Directory using Backand
  4. Run the following command to configure Persistent Single Sign-On, and allow your application to display the “Keep me signed in” checkbox:(2)
    Authenticate Angular with Azure Active Directory using Backand

Notes:
(1) You can set ClientID to any valid GUID value. Obtain new GUID values here.
(2) -KmsiLifetimeMins accepts Minutes as a parameter. The value presented here is 30 days’ worth of minutes (60 * 24 * 30) – you can change this to whatever value better matches your organization’s security policies.

Once this is complete, you’re ready to configure Backand to connect to your internal ADFS system.

Connecting to your Backand App

At this point, you a client ID and a URL for your Azure AD or ADFS install. To configure your Backand application to use these links, you just need to make a few more changes in the Backand dashboard:

  1. Log into the Backand dashboard at https://www.backand.com
  2. Find your Backand application on the dashboard, and select “Manage App”
  3. Navigate to Security & AuthSocial & Keys using the navigation menu on the left
  4. To enable an Azure AD integration:
    a) Click the toggle button next to “Use your credentials when signing in with Azure AD” to begin using your custom integration(1) 
    b) Paste your Client ID into the field marked “Client ID”
    c) Paste your OAuth 2.0 Endpoint URI into the field marked “OAuth 2.0 Endpoint” 
  5. To enable a custom ADFS integration:
    a)Click the toggle button next to “Use your credentials when signing in with Azure AD” to begin using your custom integration(2)

    b) Paste your Client ID into the field marked “Client ID”
    c) Paste your OAuth 2.0 Endpoint URI into the field marked “OAuth 2.0 Endpoint” 

Notes:
(1) By default, Backand apps are configured to use Backand’s internal integration with Azure AD. This means that your users will see the provider as “Backand” when they log in. If you wish to change this, follow the instructions above for obtaining a new Azure AD Application ID
(2) As with Azure AD, Backand apps are configured to use Backand’s internal integration with an ADFS installation. This means that your users will see the provider as “Backand” when they log in. If you wish to change this, follow the instructions above for connecting your ADFS installation to your Backand app.

Once this is complete, you’re ready to implement authentication with Azure AD and ADFS in your hybrid app! You can use the process laid out in our Ionic sample application on market.ionic.co – Easy Starter with Social Login – to implement the sign-on page; simply modify the portions using Google and Facebook login to connect to either Azure AD or ADFS instead, and you are set.

Conclusion

By using a system like Azure AD or ADFS, you can quickly and easily centralize both your user management and registration functionality in a common provider. This allows you to easily work your hybrid Backand application into your organization’s authentication system, leveraging the tools you are already using to manage your IT infrastructure more efficiently. By circumventing the need to create a custom login process, you can also reduce your development time and testing process, saving you research and development costs. For more information, visit https://www.backand.com for code samples, tutorials, and more.

Back to blog home page

Single Sign-On with Azure Active Directory and Backand

Posted by on Jan 11, 2017

Most internet users have accounts with many different service providers. As these providers have grown, they have also opened up their authentication systems to third-party developers. By leveraging these authentication systems, third party apps can reduce their scope and complexity, offloading user registration, verification, and authentication to a package solution like Google Plus, Github, Facebook, or Azure AD (Active Directory).

Building on this functionality, many providers offer Single Sign-On (SSO) functionality.   Continue reading

Back to blog home page

New Feature: Facebook Graph API Support

Posted by on Dec 06, 2016

We’re pleased to announce Backand support for the Facebook Graph API. The Graph API gives your application access to user’s Facebook profiles (with their permission, of course). With it, you can retrieve data such as birthdays, friends list and profile photos and enrich the data of your app running on the Backand, backend-as-a-service (BaaS).

Retrieving data from Facebook using the Graph API

To retrieve data from Facebook using the Graph API, get the Facebook user ID after the user signed up to your Backand app. Once you have the Facebook user ID, use the Facebook graph API to retrieve data or perform other actions.

To get the Facebook user ID (FUID) in Backand, follow these steps:

  1. Open Security & Auth >> Security actions menu and Edit “beforeSocialSignup” action
  2. Change the Where Condition to true (bottom of the page)
  3. Uncomment the code that saves the Facebook user id:userInput.fuid = parameters.socialProfile.additionalValues.id;
  4. Save the Action

Next you need to add the fuid field in the users object:

  1. Open the model page under objects menu
  2. Add new Field in the users object named fuid
  3. Click Validate & Update and Ok in the dialog

Now, when a user signs up to your app using Facebook as a social login provider, you will see the users’s FUID in the users object.

Getting Facebook data in Backand code

Once you have the Facebook user ID, use the Graph API to access any available Facebook data.

  1. The FB Graph API docs
  2. You also would need access token of your app, use this FB tool to get it.
  3. More FB tools
  4. For example, to get a user’s friends use the following JavaScript action code:

Getting a Facebook profile image

To get the Facebook profile image you just need to point to the following URL with a correct FUID:

http://graph.facebook.com/{fuid}/picture

or

http://graph.facebook .com/10209560720107355/picture?type=large

You can also review Facebook’s docs on how to use the Graph API.

​Don’t have a Backand backend-as-a-service account? Why not get one now?  Get Free Backand Account.

Back to blog home page

BYOD – Bring Your Own Database

Posted by on Feb 11, 2015

It can be tough to gauge migration efforts when evaluating Backend-as-a-Service (BaaS)  providers. If you are building a brand new web application, you are usually not particularly concerned with the costs to migrate to the new application infrastructure. However, if you have an existing application that you are porting to a new provider, you’re faced with a problem: what do you do with your data? Below we’ll look at the core challenges in migrating to providers like Firebase and Parse, and then evaluate a different approach to data as presented by Backand.

Continue reading

Back to blog home page

Backand Supports the HP Data Warehouse

Posted by on Jan 08, 2015

When HP had a problem with their internal business intelligence processes, they came to Backand for a solution. Using their Backend-as-a-Service offering built off AngularJS and Twitter Bootstrap, Backand was able to rapidly address the deficiencies in HP’s internal data warehousing process, allowing the organization to quickly deploy a new application that both replaced and enhanced the former manual data processing tasks.

Continue reading

Back to blog home page

To Code or Not to Code

Posted by on Dec 08, 2014

When developing a front-end for an existing application, one of the first questions that often arises is “How should we build this?” Choosing to write custom code to solve a problem can give you a lot of flexibility in the end product, but ultimately will end up causing a lot of money and time for development and ongoing support. In some cases, it makes more sense to try to abstract the development process as much as possible, minimizing the amount of code to be written. In this article we will look at a number of ways to approach building an application on top of existing data, and why you might choose one over the other. We’ll also touch upon the related front-end code, particularly looking at cases where a directive-driven approach like AngularJS can be used efficiently and effectively.

Continue reading

Back to blog home page

Comparison of Angular Backend as a Service Providers

Posted by on Oct 21, 2014

In our series on Angular Backend as a Service (BaaS) offerings we’ve covered a wide array of disparate service providers – from bare-metal offerings like Ruby on Rails to highly-focused providers like Backand. Let’s take this opportunity to summarize what we’ve found thus far. Below we’ll revisit each of the providers we have covered, and present guidelines on when a given provider might be the best choice.

Continue reading