Cursor-based Pagination of SCIM Resources
draft-peterson-scim-cursor-pagination-00

Document Type Active Internet-Draft (individual)
Last updated 2017-03-01
Stream (None)
Intended RFC status (None)
Formats plain text xml pdf html bibtex
Stream Stream state (No stream defined)
Consensus Boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date
Responsible AD (None)
Send notices to (None)
Internet Engineering Task Force                         M. Peterson, Ed.
Internet-Draft                                            Quest Software
Updates: 7643,7644 (if approved)                           March 1, 2017
Intended status: Standards Track
Expires: September 2, 2017

               Cursor-based Pagination of SCIM Resources
                draft-peterson-scim-cursor-pagination-00

Abstract

   The System for Cross-domain Identity Management (SCIM) protocol
   supports the retrieval of core identity resources such as users and
   groups.  In order to avoid overwhelming the SCIM client or service
   provider, SCIM defines index and count pagination query parameters
   that can be used "page through" large numbers of resources.  For some
   SCIM service providers there are advantages in implementing cursor-
   based pagination as an alternative to index-based pagination.  This
   document defines a simple extension to the SCIM protocol and core
   schema to assure interoperability of SCIM implementations that need
   to realize the advantages cursor-based pagination.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 2, 2017.

Copyright Notice

   Copyright (c) 2017 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of

Peterson                Expires September 2, 2017               [Page 1]
Internet-Draft           SCIM Cursor Pagination               March 2017

   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

1.  Introduction

   System for Cross-domain Identity Management (SCIM) protocol [RFC7644]
   supports the retrieval of core identity resources such as users and
   groups.  When many resources exist, two strategies may be employed to
   help to avoid overwhelming the SCIM client and service provider.
   First, SCIM supports the use of query filters.  A query filter allows
   the SCIM client to constrain the results returned to just the subset
   of resources that are needed by the client.  Second, SCIM supports
   the ability to "page through" large result sets using index/count
   pagination parameters.

   Not only is filtering an OPTIONAL capability,for service providers,
   it is also a very common for SCIM clients to not to use a query
   filter in order to intentionally to retrieve all resources.
   Therefore, pagination of results (more so than filtering) is a
   primary scalability mechanism for SCIM service providers.

   The two most common patterns for result pagination in HTTP-based
   protocols are: index-based pagination, and cursor-based pagination.
   Both approaches have advantages and disadvantages.  For web
   applications that also provide a application-specific Web API, the
   decision for which result pagination approach to use in the Web API
   is often dictated by the capabilities and optimizations of the
   underlying application database technology, or by strongly held
   preference of software developers.

   Implementation of a SCIM service provider is often made as a
   companion service along side an already existing application-specific
   Web API.  If cusor-based pagination is already used in an existing
   application, it can be difficult to create a companion SCIM
   implementation that uses existing application code paths.  For these
   applications, the mismatch in pagination approaches (index-based vs.
   cursor-based) is an impediment to SCIM implementation.

   This document defines a simple extension to the SCIM protocol and
   core schema that adds support for cursor-based pagination.  Support
   for cursor-based pagination in SCIM encourages broader cross-
   application identity management interoperiablity by encouraging SCIM
Show full document text