SMART Implementation FAQ

SMART Implementation Frequently Asked Questions

If you have questions not covered in this FAQ, please contact Lukasz Moren anytime.

What is SMART?

The SMART SMART solution is the first Java implementation of the User-Managed Access (UMA) protocol developed at Newcastle University as part of a HEFCE/JISC-funded project. It consists of implementation of all necessary components of the UMA protocol - i.e. Authorization Manager (SMARTAM), Host and Requester (UMA/j and Puma frameworks). SMARTAM allows users to have a centralised, flexible, and fine-grained control over access to their personal information on the Web. Users define their sharing preferences at a single Authorization Manager using an intuitive user interface for creating identity-based and claims-based policies. Such sharing settings can be later applied to distributed data hosted at UMA-enabled Web applications, such as Personal Data Stores (PDS) and other Web systems.

Further reading:

Is support provided for development with SMART?

Cloud Identity Ltd. provides UMA-specific development and production support.

Is SMART well documented?

Initial documentation for SMARTAM is available here.

Is SMART a complete implementation of the UMA specification?

Yes, SMART currently implements UMA rev 4. One of the SMART team's main goals is to keep its implementation up-to-date with the UMA specification. SMARTAM implements nearly all parts of the UMA protocol, including:

  • AM Discovery
  • Dynamic Host Registration
  • OAuth 2.0 flow
  • Resource Set Registration
  • Token Status Retrieval
  • Host Permissions Registration
  • Requester Permissions Grant
  • OpenID Connect Claims (experimental)

SMARTAM also provides several extensions to the core UMA protocol specification. For example, Facebook Connect integration and policy set up with the user's Facebook friends.

Does SMARTAM work on mobile devices?

SMART team is working on the mobile version of SMARTAM. Learn more here.

Is SMARTAM based on standards?

Yes, OAuth 2.0 and UMA.

How can I build an UMA Host that integrates with SMART?

Information on building a Python Web application with Puma is available at here.

How can I build an UMA Requester that integrates with SMART?

Information on building a Python Web application with Puma is available here.

Are there any SDKs that can help developers build UMA Host/Requester application and integrate with SMARTAM?

We are working on UMA SDKs for:

For Python framework, Puma, learn more here.

Is SMART planning to add support for policies that work with more than just Facebook friends lists?

Yes, the SMART team is working on support for policies that would work with individuals based on their email address. We have added experimental integration with Google's OpenID Connect implementation to allow creating policies for Gmail users based on their gmail addresses. Check out the UMA webinar from December 2011 (slides, recording) for a demo of this feature and other features of SMARTAM.

What are the next steps for the SMARTAM implementation?

  • Completing OpenID Connect implementation.
  • Allow SMARTAM users to log in with their existing accounts from various Identity Providers.