One document matched: draft-greevenbosch-scim-vcard-mapping-02.txt
Differences from draft-greevenbosch-scim-vcard-mapping-01.txt
scim B. Greevenbosch
Internet-Draft Huawei Technologies
Intended status: Standards Track February 25, 2013
Expires: August 29, 2013
SCIM and vCard mapping
draft-greevenbosch-scim-vcard-mapping-02
Abstract
This document defines a mapping between Simple Cloud Identity
Management (SCIM) and vCard.
Greevenbosch Expires August 29, 2013 [Page 1]
Internet-Draft SCIM/vCard mapping February 2013
Note
Discussion and suggestions for improvement are requested, and should
be sent to scim@ietf.org.
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 August 29, 2013.
Copyright Notice
Copyright (c) 2013 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
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.
Greevenbosch Expires August 29, 2013 [Page 2]
Internet-Draft SCIM/vCard mapping February 2013
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Requirements notation . . . . . . . . . . . . . . . . . . . . 5
3. Mapping from SCIM attributes to vCard properties . . . . . . . 6
4. Mapping from vCard properties to SCIM attributes . . . . . . . 16
5. Mapping between SCIM and vCard IDs . . . . . . . . . . . . . . 23
6. Open issues . . . . . . . . . . . . . . . . . . . . . . . . . 24
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 25
8. Security Considerations . . . . . . . . . . . . . . . . . . . 26
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 27
10. Normative References . . . . . . . . . . . . . . . . . . . . . 28
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 29
Greevenbosch Expires August 29, 2013 [Page 3]
Internet-Draft SCIM/vCard mapping February 2013
1. Introduction
The Simple Cloud Identity Management (SCIM) core schema
[I-D.scim-core-schema] defines a platform neutral data and extension
model for representing users of cloud services. SCIM core also
defines XML and JSON serialisations of the abstract schema.
This document defines a mapping between SCIM and vCard [RFC6350].
The mapping may serve several purposes:
o To provide a unified conversion mechanism between SCIM and vCard.
o To identify properties that are defined in vCard, but are missing
in SCIM.
o To identify SCIM attributes that may be useful in vCard too.
Greevenbosch Expires August 29, 2013 [Page 4]
Internet-Draft SCIM/vCard mapping February 2013
2. Requirements notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
Greevenbosch Expires August 29, 2013 [Page 5]
Internet-Draft SCIM/vCard mapping February 2013
3. Mapping from SCIM attributes to vCard properties
Table 1 describes a mapping from SCIM attributes to the vCard
properties.
In the table, the cardinality of the SCIM attribute is prefixed by an
"S", whereas the cardinality of the vCard property is prefixed by a
"v". The further notation has been adopted from [RFC6350] as
follows:
+-------------+----------------------------------------+
| 1 | Exactly one instance MUST be present. |
| *1 | Exactly one instance MAY be present. |
| 1* | One or more instances MUST be present. |
| * | One or more instances MAY be present. |
+-------------+----------------------------------------+
The reverse mapping from vCard to SCIM is defined in Section 4. The
reason for having two tables is that some mappings are not
invertible.
+--------------------+------------------+-----------+---------------+
| SCIM attribute | vCard property | Cardinali | Notes |
| | | ty | |
+--------------------+------------------+-----------+---------------+
| id | UID | S1 v*1 | May need |
| | | | conversion |
| | | | from SCIM id |
| | | | space to |
| | | | vCard UID |
| | | | space. Exact |
| | | | conversion |
| | | | TBD. |
| | | | |
| externalId | | S*1 | |
| | | | |
| meta/created | | S*1 | |
| | | | |
| meta/lastModified | REV | S*1 v*1 | |
| | | | |
| meta/location | | S*1 | No direct |
| | | | vCard |
| | | | equivalent. |
| | | | Candidates |
| | | | could be |
| | | | SOURCE and |
| | | | ORG-DIRECTORY |
| | | | . |
Greevenbosch Expires August 29, 2013 [Page 6]
Internet-Draft SCIM/vCard mapping February 2013
| meta/version | | S*1 | |
| | | | |
| meta/attributes | | S*1 | |
| | | | |
| userName | | S1 | |
| | | | |
| name/formatted | FN | S*1 v1* | |
| | | | |
| name/familyName | N (family names) | S*1 v*1 | Combined with |
| | | | other name |
| | | | attributes in |
| | | | a single N |
| | | | element. |
| | | | |
| name/givenName | N (given names) | S*1 v*1 | Combined with |
| | | | other name |
| | | | attributes in |
| | | | a single N |
| | | | element. |
| | | | |
| name/middleName | N (additional | S*1 v*1 | |
| | names) | | |
| | | | |
| name/honorificPref | N (honorific | S*1 v*1 | Combined with |
| ix | prefixes) | | other name |
| | | | attributes in |
| | | | a single N |
| | | | element. |
| | | | |
| name/honorificSuff | N (honorific | S*1 v*1 | Combined with |
| ix | suffixes) | | other name |
| | | | attributes in |
| | | | a single N |
| | | | element. |
| | | | |
| displayName | | S*1 | |
| | | | |
| nickName | NICKNAME | S*1 v* | |
| | | | |
| profileUrl | URL | S*1 v* | Multiple |
| | | | fields in |
| | | | SCIM better? |
| | | | |
| employeeNumber | | S*1 | |
| | | | |
| title | TITLE | S*1 v* | |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 7]
Internet-Draft SCIM/vCard mapping February 2013
| userType | ROLE | S*1 v* | Consider |
| | | | distinction |
| | | | with the |
| | | | "roles" |
| | | | attribute. |
| | | | |
| preferredLanguage | LANG | S*1 v* | Language tag |
| | | | according to |
| | | | [RFC5646]. |
| | | | |
| locale | | S*1 | |
| | | | |
| timezone | TZ | S*1 v* | |
| | | | |
| active | | S*1 | |
| | | | |
| password | | S*1 | |
| | | | |
| costCenter | | S*1 | |
| | | | |
| organization | ORG | S*1 v* | Use the |
| | | | hierarchical |
| | | | order defined |
| | | | in vCard. |
| | | | |
| division | ORG | S*1 v* | Use the |
| | | | hierarchical |
| | | | order defined |
| | | | in vCard. |
| | | | |
| department | ORG | S*1 v* | Use the |
| | | | hierarchical |
| | | | order defined |
| | | | in vCard. |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 8]
Internet-Draft SCIM/vCard mapping February 2013
| manager/managerId | | S*1 | SCIM specific |
| | | | ID, related |
| | | | to "id" |
| | | | attribute. |
| | | | The vCard |
| | | | RELATED |
| | | | property |
| | | | could be |
| | | | used, but a |
| | | | TYPE |
| | | | "manager" may |
| | | | need |
| | | | definition. |
| | | | In SCIM, |
| | | | "managerID" |
| | | | is mandatory |
| | | | if "manager" |
| | | | is included. |
| | | | |
| manager/displayNam | | S*1 | This field is |
| e | | | optional in |
| | | | SCIM, also |
| | | | when |
| | | | "manager" is |
| | | | included. |
| | | | |
| email | EMAIL | S* v* | In SCIM, |
| | | | multiple |
| | | | "email" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an "emails" |
| | | | attribute. |
| | | | |
| phoneNumber | TEL | S* v* | In SCIM, |
| (type="work") | (TYPE="voice,wor | | multiple |
| | k") | | "phoneNumber" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "phoneNumbers |
| | | | "attribute. |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 9]
Internet-Draft SCIM/vCard mapping February 2013
| phoneNumber | TEL | S* v* | In SCIM, |
| (type="home") | (TYPE="voice,hom | | multiple |
| | e") | | "phoneNumber" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "phoneNumbers |
| | | | "attribute. |
| | | | |
| phoneNumber | TEL | S* v* | In SCIM, |
| (type="mobile") | (TYPE="cell") | | multiple |
| | | | "phoneNumber" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "phoneNumbers |
| | | | "attribute. |
| | | | |
| phoneNumber | TEL (TYPE="fax") | S* v* | In SCIM, |
| (type="fax") | | | multiple |
| | | | "phoneNumber" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "phoneNumbers |
| | | | "attribute. |
| | | | |
| phoneNumber | TEL | S* v* | |
| (type="pager") | (TYPE="pager") | | |
| | | | |
| phoneNumber | TEL (no TYPE) | S* v* | In SCIM, |
| (type="other") | | | multiple |
| | | | "phoneNumber" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "phoneNumbers |
| | | | "attribute. |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 10]
Internet-Draft SCIM/vCard mapping February 2013
| phoneNumber (no | TEL (no TYPE) | S* v* | In SCIM, |
| type) | | | multiple |
| | | | "phoneNumber" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "phoneNumbers |
| | | | "attribute. |
| | | | |
| im | IMPP | S* v* | In SCIM, |
| | | | multiple "im" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an "ims" |
| | | | attribute. |
| | | | |
| photo | PHOTO | S* v* | URL of a web |
| | | | location |
| | | | where the |
| | | | photo can be |
| | | | retrieved. |
| | | | In SCIM, |
| | | | multiple |
| | | | "photo" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an "photos" |
| | | | attribute. |
| | | | |
| address | ADR | S* v* | See [RFC6350] |
| | | | for the |
| | | | internal |
| | | | coding of the |
| | | | ADR property. |
| | | | In SCIM, |
| | | | multiple |
| | | | "address" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "addresses" |
| | | | attribute. |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 11]
Internet-Draft SCIM/vCard mapping February 2013
| address/formatted | ADR (LABEL) | S* v* | In SCIM, |
| | | | multiple |
| | | | "address" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "addresses" |
| | | | attribute. |
| | | | |
| address/streetAddr | ADR (street | S* v* | Combined with |
| ess | address) | | other address |
| | | | attributes |
| | | | into a single |
| | | | ADR element. |
| | | | In SCIM, |
| | | | multiple |
| | | | "address" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "addresses" |
| | | | attribute. |
| | | | |
| address/locality | ADR (locality) | S* v* | Combined with |
| | | | other address |
| | | | attributes |
| | | | into a single |
| | | | ADR element. |
| | | | In SCIM, |
| | | | multiple |
| | | | "address" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "addresses" |
| | | | attribute. |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 12]
Internet-Draft SCIM/vCard mapping February 2013
| address/region | ADR (region) | S* v* | Combined with |
| | | | other address |
| | | | attributes |
| | | | into a single |
| | | | ADR element. |
| | | | In SCIM, |
| | | | multiple |
| | | | "address" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "addresses" |
| | | | attribute. |
| | | | |
| address/postalCode | ADR (postal | S* v* | Combined with |
| | code) | | other address |
| | | | attributes |
| | | | into a single |
| | | | ADR element. |
| | | | In SCIM, |
| | | | multiple |
| | | | "address" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "addresses" |
| | | | attribute. |
| | | | |
| address/country | ADR (country) | S* v* | Combined with |
| | | | other address |
| | | | attributes |
| | | | into a single |
| | | | ADR element. |
| | | | In SCIM, |
| | | | multiple |
| | | | "address" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an |
| | | | "addresses" |
| | | | attribute. |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 13]
Internet-Draft SCIM/vCard mapping February 2013
| group/displayName | FN | S* v1* | vCard KIND |
| | | | property MUST |
| | | | equal |
| | | | "group". In |
| | | | SCIM, |
| | | | multiple |
| | | | "group" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an "groups" |
| | | | attribute. |
| | | | In Scim, |
| | | | "displayName" |
| | | | is required |
| | | | when "group" |
| | | | is included. |
| | | | |
| group/members | multiple MEMBER | S* v* | Multiple SCIM |
| | properties | | specific IDs, |
| | | | related to |
| | | | "id" |
| | | | attribute. |
| | | | Conversion |
| | | | between SCIM |
| | | | id and vCard |
| | | | UID TBD. In |
| | | | SCIM, |
| | | | multiple |
| | | | "group" |
| | | | attributes |
| | | | can be |
| | | | aggregated in |
| | | | an "groups" |
| | | | attribute. |
| | | | Service |
| | | | Providers may |
| | | | require |
| | | | Consumers to |
| | | | provide a |
| | | | non-empty |
| | | | members |
| | | | value. |
| | | | |
| emails | Multiple EMAIL | S* v* | See "email" |
| | fields | | for mapping |
| | | | per property. |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 14]
Internet-Draft SCIM/vCard mapping February 2013
| phoneNumbers | Multiple TEL | S* v* | See |
| | properties | | "phoneNumber" |
| | | | for mapping |
| | | | per property. |
| | | | |
| ims | Multiple IMPP | S* v* | See "im" for |
| | properties | | mapping per |
| | | | property. |
| | | | |
| photos | Multiple PHOTO | S* v* | See "photo" |
| | properties | | for mapping |
| | | | per property. |
| | | | |
| addresses/* | Multiple ADR | S* v* | See |
| | fields | | "address/*" |
| | | | for mapping |
| | | | per address. |
| | | | |
| groups | | S* | Related to |
| | | | "group" |
| | | | attribute. |
| | | | |
| entitlements | | S* | Hard to map |
| | | | as it is |
| | | | proprietary |
| | | | by nature. |
| | | | |
| roles | Multiple ROLE | S* v* | Consider |
| | properties | | distinction |
| | | | with the |
| | | | "userType" |
| | | | attribute. |
| | | | |
| x509Certificates | KEY | S* v* | Care is |
| | | | required: |
| | | | keys may not |
| | | | have the same |
| | | | usage. |
+--------------------+------------------+-----------+---------------+
Table 1: SCIM to vCard mapping
Greevenbosch Expires August 29, 2013 [Page 15]
Internet-Draft SCIM/vCard mapping February 2013
4. Mapping from vCard properties to SCIM attributes
Table 2 describes a mapping from vCard properties to SCIM attributes.
For the cardinalities, the same notation from Section 3 is used.
+-----------------+---------------------+------------+--------------+
| vCard property | SCIM attribute | Cardinalit | Notes |
| | | yin | |
| | | vCard/SCI | |
| | | M | |
+-----------------+---------------------+------------+--------------+
| SOURCE | | v* | Similar to |
| | | | SCIM |
| | | | meta/locatio |
| | | | n. |
| | | | |
| KIND | | v*1 | In vCard can |
| | | | have the |
| | | | values |
| | | | "individual" |
| | | | ,"group", |
| | | | "org" and |
| | | | "location". |
| | | | The value |
| | | | "applicatio |
| | | | n"was added |
| | | | by[RFC6473]. |
| | | | |
| XML | | v* | Purpose: to |
| | | | include |
| | | | extended |
| | | | XML-encoded |
| | | | vCard data |
| | | | in a plain |
| | | | vCard. |
| | | | |
| FN | name/formatted | v1* S*1 | |
| | | | |
| N (family | name/familyName | v*1 S*1 | |
| names) | | | |
| | | | |
| N (given names) | name/givenName | v*1 S*1 | |
| | | | |
| N (additional | name/middleName | v*1 S*1 | |
| names) | | | |
| | | | |
| N (honorific | name/honorificPrefi | v*1 S*1 | |
| prefixes) | x | | |
Greevenbosch Expires August 29, 2013 [Page 16]
Internet-Draft SCIM/vCard mapping February 2013
| N (honorific | name/honorificSuffi | v*1 S*1 | |
| suffixes) | x | | |
| | | | |
| NICKNAME | nickName | v* S*1 | |
| | | | |
| PHOTO | photo | v* S* | URL of a web |
| | | | location |
| | | | where the |
| | | | photo can be |
| | | | retrieved. |
| | | | |
| BDAY | | v*1 | |
| | | | |
| ANNIVERSARY | | v*1 | |
| | | | |
| GENDER | | v*1 | Can have the |
| | | | values |
| | | | "M"ale, |
| | | | "F"emale, |
| | | | "O"ther, |
| | | | "N"one or |
| | | | not |
| | | | applicable |
| | | | or |
| | | | "U"nknown. |
| | | | |
| ADR (LABEL) | address/formatted | v* S* | |
| | | | |
| ADR (post | address/streetAddre | v* S* | |
| office box) | ss | | |
| | | | |
| ADR (extended | | v* | |
| address) | | | |
| | | | |
| ADR (street | address/streetAddre | v* S* | |
| address) | ss | | |
| | | | |
| ADR (locality) | address/locality | v* S* | |
| | | | |
| ADR (region) | address/region | v* S* | |
| | | | |
| ADR (postal | address/postalCode | v* S* | |
| code) | | | |
| | | | |
| ADR (country) | address/country | v* S* | |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 17]
Internet-Draft SCIM/vCard mapping February 2013
| TEL | phoneNumber, | v* S* | Multiple |
| (TYPE="text") | type="other" | | through SCIM |
| | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
| TEL | phoneNumber, | v* S* | The vCard |
| (TYPE="voice") | type="work"/type="h | | TYPE can |
| | ome" | | include |
| | | | "work" or |
| | | | "home", in |
| | | | which case |
| | | | mapping is |
| | | | clear. |
| | | | Multiple |
| | | | through SCIM |
| | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
| TEL | phoneNumber, | v* S* | Multiple |
| (TYPE="fax") | type="fax" | | through SCIM |
| | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
| TEL | phoneNumber, | v* S* | Multiple |
| (TYPE="cell") | type="mobile" | | through SCIM |
| | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
| TEL | phoneNumber, | v* S* | Multiple |
| (TYPE="video") | type="other" | | through SCIM |
| | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
| TEL | phoneNumber, | v* S* | Multiple |
| (TYPE="pager") | type="pager" | | through SCIM |
| | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 18]
Internet-Draft SCIM/vCard mapping February 2013
| TEL | phoneNumber, | v* S* | Multiple |
| (TYPE="textphon | type="other" | | through SCIM |
| e") | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
| TEL (no TYPE) | phoneNumber (no | v* S* | Multiple |
| | type) | | through SCIM |
| | | | "phoneNumber |
| | | | s" attribute |
| | | | . |
| | | | |
| EMAIL | email | v* S* | Can have |
| | | | TYPE="work", |
| | | | TYPE="home". |
| | | | Multiple |
| | | | through SCIM |
| | | | "emails" |
| | | | attribute. |
| | | | |
| IMPP | im | v* S* | Multiple |
| | | | through SCIM |
| | | | "ims" |
| | | | attribute. |
| | | | |
| LANG | preferredLanguage | v* S*1 | |
| | | | |
| TZ | timezone | v* S*1 | |
| | | | |
| GEO | | v* | GPS |
| | | | coordinates |
| | | | |
| TITLE | title | v* S*1 | |
| | | | |
| ROLE | userType | v* S*1 | |
| | | | |
| LOGO | | v* | |
| | | | |
| ORG | organization | v* S*1 | |
| | | | |
| MEMBER | | v* | Contains a |
| | | | vCard ID of |
| | | | a member of |
| | | | this group. |
| | | | The vCard |
| | | | MUST have |
| | | | KIND="group" |
| | | | . |
Greevenbosch Expires August 29, 2013 [Page 19]
Internet-Draft SCIM/vCard mapping February 2013
| RELATED | | v* | Contains a |
| | | | vCard ID of |
| | | | another |
| | | | related |
| | | | vCard. Can |
| | | | have many |
| | | | TYPE values, |
| | | | such as |
| | | | "friend", |
| | | | "neighbor" |
| | | | and |
| | | | "spouse". |
| | | | |
| CATEGORIES | | v* | Contains not |
| | | | necessarily |
| | | | unified |
| | | | tags. |
| | | | |
| NOTE | | v* | Any text. |
| | | | |
| PRODID | | v*1 | ID for |
| | | | producer of |
| | | | vCard. |
| | | | |
| REV | | v*1 | Purpose: to |
| | | | specify |
| | | | revision |
| | | | information |
| | | | about the |
| | | | current |
| | | | vCard. |
| | | | |
| SOUND | | v* | |
| | | | |
| UID | externalId | v*1 S*1 | Conversion |
| | | | scheme |
| | | | between |
| | | | vCard and |
| | | | SCIM IDs is |
| | | | needed. |
| | | | |
| CLIENTPIDMAP | | v* | Link between |
| | | | local PID |
| | | | and global |
| | | | URI. |
| | | | |
| URL | profileUrl | v* S*1 | |
| | | | |
Greevenbosch Expires August 29, 2013 [Page 20]
Internet-Draft SCIM/vCard mapping February 2013
| VERSION | | v1 | Version of |
| | | | vCard |
| | | | specificatio |
| | | | n. |
| | | | |
| KEY | x509Certificates? | v* S* | Care is |
| | | | required: |
| | | | keys may not |
| | | | have the |
| | | | same usage. |
| | | | |
| FBURL | | v* | Purpose: to |
| | | | specify the |
| | | | URI for the |
| | | | busy time |
| | | | associated |
| | | | with the |
| | | | object that |
| | | | the vCard |
| | | | represents. |
| | | | |
| CALADRURI | | v* | Purpose: to |
| | | | specify the |
| | | | calendar |
| | | | user address |
| | | | to which a |
| | | | scheduling |
| | | | request |
| | | | should be |
| | | | sent for the |
| | | | object |
| | | | represented |
| | | | by the |
| | | | vCard. |
| | | | |
| CALURI | | v* | Purpose: to |
| | | | specify the |
| | | | URI for a |
| | | | calendar |
| | | | associated |
| | | | with the |
| | | | object |
| | | | represented |
| | | | by the |
| | | | vCard. |
| | | | |
| BIRTHPLACE | | v*1 | Defined in |
| | | | [RFC6474]. |
Greevenbosch Expires August 29, 2013 [Page 21]
Internet-Draft SCIM/vCard mapping February 2013
| DEATHDATE | | v*1 | Defined in |
| | | | [RFC6474]. |
| | | | |
| DEATHPLACE | | v*1 | Defined in |
| | | | [RFC6474]. |
| | | | |
| EXPERTISE | | v* | Defined in |
| | | | [RFC6715]. |
| | | | |
| HOBBY | | v* | Defined in |
| | | | [RFC6715]. |
| | | | |
| INTEREST | | v* | Defined in |
| | | | [RFC6715]. |
| | | | |
| ORG-DIRECTORY | | v* | Defined in |
| | | | [RFC6715]. |
+-----------------+---------------------+------------+--------------+
Table 2: vCard to SCIM mapping
Greevenbosch Expires August 29, 2013 [Page 22]
Internet-Draft SCIM/vCard mapping February 2013
5. Mapping between SCIM and vCard IDs
A SCIM specific prefix could be used to indicate the conversion from
SCIM IDs to vCard UIDs. A "Service Provider" specific part would
need to be included in the vCard UID, as the SCIM ID is unique within
the Service Provider's space only. The following format is proposed:
UID:scim:[serviceProviderID]:123456789
Conversion from vCard to SCIM may be done similarly, i.e. by adding a
prefix to the vCard UID. The SCIM schema document mentions for the
SCIM ID: "This identifier MUST be unique across the Service
Provider's entire set of Resources", so as long as the vCard UID
indeed is globally unique, and the service provider uses the prefix
for vCard acquired resources only, the rule should hold.
Notice that the above mechanism allows looping. For example,
converting SCIM -> vCard -> SCIM would lead to another SCIM ID in the
second representation as in the first. This indeed reflects the
possible loss of information in the conversion process. Of course
this kind of tandem conversion should be avoided as much as possible.
Because of the format of the vCard UID after conversion from SCIM,
the SCIM service provider can detect above mentioned tandem coding,
as well as the original vCard ID. The actions the service provider
may take upon such detection may for example include using the
original SCIM data instead, or using smarter mapping by analysing the
original and the new import. This kind of mechanisms is left out of
scope of this document.
Greevenbosch Expires August 29, 2013 [Page 23]
Internet-Draft SCIM/vCard mapping February 2013
6. Open issues
The following is a list of open issues:
o Text in [I-D.scim-core-schema] defines only plural "emails",
"phoneNumbers", "ims", "photos", "addresses", "groups",
"entitlements" and "roles" elements. However, the XML examples
show that these plural element contain the associated singular
elements. This is not the case for the JSON representation.
o It is unclear on whether the SCIM ID can include alphanumeric
characters or is restricted to numeric characters only. The
examples in [I-D.scim-core-schema] seem to indicate that they
consist of hexadecimal numbers, with dashes at appropriate places.
If this is the case, then during the conversion from vCard UIDs to
SCIM IDs would include conversion of alphanumeric characters to
hexadecimal values.
o Various countries have different naming conventions for people.
For example:
* In the Netherlands people can have multiple first names. It is
unclear how to distribute these names among the fields "name/
givenName" and "name/middleName", especially when the number of
first names is greater than two. To complicate matters, people
can also have a "calling name", which is the name people
actually use to speaking to the person. This may be mapped to
"nickname".
* In Spain, one usually has two family names, one adopted from
the father's side, and the other adopted from the mother's
side.
* In China, many people adopt an "English name" in addition to
their traditional Chinese name.
* In Russia, people have a first name, father's name and family
name.
It is hard to cater for all naming conventions, hence the "name/
formatted" field is very useful. However, it may be good to add
some more flexibility and extensibility in the SCIM scheme for
names, e.g. allowing multiple "name/middleName" or "name/
familyName" fields, as well as a posibility to add extra fields
such as "name/englishName".
Greevenbosch Expires August 29, 2013 [Page 24]
Internet-Draft SCIM/vCard mapping February 2013
7. IANA Considerations
A "manager" TYPE for the RELATED vCard property may need
registration.
Greevenbosch Expires August 29, 2013 [Page 25]
Internet-Draft SCIM/vCard mapping February 2013
8. Security Considerations
The mapping between vCard and SCIM may be useful for easily
transferring data for one system towards another. However, it also
has privacy implications. Therefore, it is important that user
consensus is acquired where applicable.
For this document, some decisions were made concerning mapping
between attributes and properties with similar, but not equal,
semantics. This was done in a best effort manner. However one
should realise that during the mapping process some accuracy from the
original data may be lost.
Tandem conversion between SCIM and vCard SHOULD be avoided as much as
possible.
Greevenbosch Expires August 29, 2013 [Page 26]
Internet-Draft SCIM/vCard mapping February 2013
9. Acknowledgements
Thanks to Kepeng Li for providing feedback and suggestions. Thanks
to Paul Madsen and Phil Hunt for providing similar mapping drafts
[draft-scim-saml2-binding] and [I-D.hunt-scim-directory], which have
served as inspiration for this document. Michael Angstadt and Dany
Cauchie provided valuable review comments.
Greevenbosch Expires August 29, 2013 [Page 27]
Internet-Draft SCIM/vCard mapping February 2013
10. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC5646] Phillips, A. and M. Davis, "Tags for Identifying
Languages", BCP 47, RFC 5646, September 2009.
[RFC6350] Perreault, S., "vCard Format Specification", RFC 6350,
August 2011.
[RFC6473] Saint-Andre, P., "vCard KIND:application", RFC 6473,
December 2011.
[RFC6474] Li, K. and B. Leiba, "vCard Format Extensions: Place of
Birth, Place and Date of Death", RFC 6474, December 2011.
[RFC6715] Cauchie, D., Leiba, B., and K. Li, "vCard Format
Extensions: Representing vCard Extensions Defined by the
Open Mobile Alliance (OMA) Converged Address Book (CAB)
Group", RFC 6715, August 2012.
[I-D.scim-core-schema]
Mortimore, C., Harding, P., Madsen, P., and T. Drake,
"System for Cross-Domain Identity Management: Core
Schema", draft-ietf-scim-core-schema-00 (work in
progress), August 2012.
[I-D.hunt-scim-directory]
Hunt, P., "SCIM Directory Services",
draft-hunt-scim-directory-00 (work in progress),
September 2012.
[draft-scim-saml2-binding]
Madsen, P., "SAML 2.0 Binding for SCIM",
draft-scim-saml2-binding-02 (work in progress),
April 2011.
Greevenbosch Expires August 29, 2013 [Page 28]
Internet-Draft SCIM/vCard mapping February 2013
Author's Address
Bert Greevenbosch
Huawei Technologies Co., Ltd.
Huawei Industrial Base F1-8
Bantian, Longgang District
Shenzhen 518129
P.R. China
Phone: +86-755-28979133
Email: bert.greevenbosch@huawei.com
Greevenbosch Expires August 29, 2013 [Page 29]
| PAFTECH AB 2003-2026 | 2026-04-24 01:30:19 |