What is BlackBerry Identity Service (IDS):
It is a standardized interface for accessing identifiable information about the user across multiple IDPs (Identity Providers). Supported Identity providers on BlackBerry® 10 will effectively make it possible for developers on BlackBerry 10 to pull out data about a user from multiple registered sources, based on the consent of the user.
BlackBerry 10 supported Identity Providers:
BlackBerry® ID Identity Service: allows users to access BlackBerry ID control resources (i.e. users’ personal information).
- BlackBerry® ID is an identity service which gives customers convenient access to multiple BlackBerry products, services and applications using one login.
- Allows apps to perform authentication using the users BlackBerry ID instead of prompting the user for multiple credentials.
BlackBerry® Profile: Allows access to off-device secure encrypted storage
- Allows the same app, installed on multiple devices access to the same information
- Allows apps written by the same vendor to sync and share some vendor-specific data associated with the user.
- Storage is accessible remotely from all BlackBerry 10 devices logged in with the same BlackBerry ID
The BlackBerry Identity Service works with identity providers to provide user authentication. In order to use the Identity Service, you need to register your app with at least one identity provider. Your users can sign in with the identity provider, using their BlackBerry device, and subsequently grant access for your application to retrieve or store information associated with their identity.
Supplementary BlackBerry Native IDS Sample Application: https://github.com/blackberry/Cascades-Community-S
- Enable your users to access services and content that require user authentication.
- Any authentication that your app requires can also be done using the login credentials associated with an identity provider. This approach frees your users from having to remember another login profile, and saves you from having to build user authentication directly into your application.
- Allows you to link your account system with a BlackBerry ID identifier, to simplify the login and account management process on the device.
- You can also personalize the user experience by integrating users' personal information in your app (i.e. first name, last name, screen name).
Supported Development Platform:
Below are supported development options on BlackBerry 10 for BlackBerry Identity Service
Native/Cascades™ Development Kit
Qt / C++ API , Sample App, and Documentation
How BlackBerry Identity Service Works (Example):
BlackBerry ID Provider
Using IDS to access Personally Identifiable Information (with the BlackBerry ID provider):
1) Your application integrates with the IDS library and registers with the BlackBerry ID Provider.
2) Upon launching your application, the user will be asked to consent your access to their PII data.
3) Issue a request to getUserProperties, allowing you to retrieve several pieces of user information. The information can subsequently be used to populate your own screens where needed.
4) Issue a request for the UID using getUserProperties, allowing you to retrieve a unique identifier for the user, as it relates to your organization. This can be used to link your user records with the BlackBerry ID account.
5) Issue “challenge” requests to force the user to authenticate with their credentials, verifying their identity.
6) In the event that the user has not yet authenticated with the system, a request to any of the above APIs would in turn trigger an account creation or login flow.
BlackBerry Profile provider (Example):
Using IDS to store user data in remote storage (with the BlackBerry Profile provider):
1) Your application integrates with the IDS library and registers with the BlackBerry Profile Provider.
2) Issue requests to the CRUD Data APIs to create, update, and retrieve user specific profile information your app(s) may have stored.
3) Store data at the application or vendor level, allowing access to just your particular app or a collection of apps written by your organization.