Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Terminology in the protocol spec

(This text has now been added to the spec.)

An Anchorauthz-userauthz-userauthorizing user is a web user who uses a user agent (as defined in [HTTP]) to configure an AM with access authorization policies to instruct it how to make access decisions when a requester attempts to access a protected resource on a host.A Anchorprotected-resourceprotected-resourceprotected resource is an access-restricted resource (as defined in [HTTP]) that can be obtained from a host with the authorization of an authorizing user, as transmitted by an AM.An AnchorAMAMauthorization manager (or AM) is an UMA protocol endpoint that carries out an authorizing userTerms are capitalized here for clarity of definition, but are lowercase in the main body of the specification for readability. Note that in this specification, the word "profile" is used not only to refer to [WRAP] profiles, but also for the result of choosing one out of several options in a referenced specification in order to increase interoperability.

Authorizing User: A web user who configures an Authorization Manager with policies that control how it makes access decisions when a Requester attempts to access a Protected Resource at a Host.

Authorization Manager (AM): An UMA-defined variant of a WRAP Authorization Server that carries out an Authorizing User's policies governing access to a protected resource by interacting in the role of an HTTP server (as defined in [HTTP]) with hosts and requesters.A Anchorpolicypolicypolicy is an instruction an authorizing user gives an AM to govern its calculation of access authorization decisions. A policy may involve dictating a requirement for a requester to provide one or more claims.A Anchorclaimclaimclaim is a statement (as defined in [IDCclaim]) conveyed by a requester to an AM in an attempt to satisfy a policy.A Anchorhosthosthost is an UMA protocol endpoint that interacts with AMs in the role of an HTTP client and with requesters in the role of an HTTP server (as defined in [HTTP]), in order to allow an authorizing user to control access to protected resources at that host.A Anchorrequesterrequesterrequester is an UMA protocol endpoint that interacts with hosts and AMs in the role of an HTTP client (as defined in [HTTP]) to gain authorized access to a protected resource.A Anchorrequesting-partyrequesting-partyrequesting party is a Protected Resource.

Protected Resource: A resource (at a Host) whose access is restricted. (Note that this differs from WRAP's definition of the same term.)

Host: An UMA-defined variant of, respectively, a WRAP Protected Resource and WRAP Client, that enforces access to the Protected Resources it hosts, as decided by an Authorization Manager.

Token Validation URL: The URL at an Authorization Manager that a Host uses to validate an access token.

Claim: A statement (in the sense of IDCclaim). Claims are conveyed by a Requester on behalf of a Requesting Party to an Authorization Manager in an attempt to satisfy user policy. (Protected Resources may also contain Claims, but this is outside the view of the UMA protocol.)

Requester: An UMA-defined variant of a WRAP Client that seeks access to a Protected Resource.

Requesting Party: A web user, or a corporation (or other legal person), that uses a requester Requester to seek protected resource access on his or her or its own behalfaccess to a Protected Resource.

Additional terminology

A Anchorprimary-resource-userprimary-resource-userprimary resource user is a web user who uses a user agent (as defined in [HTTP]) to interact with a host in order to use it for resource hosting. The primary resource user Terms in this section do not appear in the protocol spec, but we have found it to be useful to define them in addition, for non-normative/discussion purposes.

Primary Resource User: A web user who who interacts with a Host to store and manage Protected Resources there. The Primary Resource User may be identical to the authorizing user Authorizing User of the same resource at that host, or they they may be different people.

...

For our purposes in UMA 1.0, an authorizing user is always a natural person (a human being). By contrast, a requesting party may be a natural person (which we may think of as person-to-person sharing, such as "Alice to Bob" with the help of various online services in the middle), or it may be a legal person such as a company (which we may think of as person-to-service sharing because the service is run by a corporation or other organization, such as "Alice to a travel website survey application run by OrbitzInfoUSA").

It's possible, though unlikely in the typical case, that Bob will deploy an online service on his own behalf that manages the requesting of access to a resource of Alice's ("Alice to Bob's homegrown app"); in that case, it would be person-to-person just as in the first case. The nature of required claims could be different depending on which kind of sharing is taking place.

ISSUE: is this correct? Is this an equal option everywhere person-to-service is an option? In some cases, Alice herself will deploy an online service on her own behalf, for which it's convenient to set up a service-access relationship with some other service that Alice uses as a host. In this way, Alice can achieve person-to-self sharing ("Alice's calendar host to Alice's homegrown calendar subscription app"), which is akin to the type of data sharing and service access enabled by OAuth and WRAP with the addition of the centralized authorization manager component.

So a requester can act on behalf of several different types of requesting party, which differ in the type of profile that the requester (or rather its embedded WRAP client component) must use to request an access token from the AM (or rather from the AM's embedded WRAP authorization server component):

Type of sharing

Example

WRAP profile type

Person-to-person

Alice allows Bob, using a popular Web 2.0 address book compilation service, to retrieve her home address from her personal datastore service (host)

Autonomous client (possibly with an invisible-to-UMA interaction with Bob to gather his consent or ask him to provide more information to be packaged up as claims)

Person-to-service

Alice allows InfoUSA's online service to collect her demographic data from a host site where she stores it

Autonomous client (where InfoUSA is the requesting party)

Person-to-self

Alice allows her own requester app to access her geolocation hosting service in order to set and get her current location

User delegation (in which Alice, while interacting with her own requester app, is redirected to "herself" at the AM to log in and authorize the host-requester connection)

A claim may be affirmative, representing a statement of fact (as asserted by the requesting or another claim issuer); or promissory, a promise (as asserted by the requesting party specifically to the authorizing user). A statement of fact might be "The requesting party is over 18 years of age." A promise might be "The requesting party will adhere to the specific Creative Commons licensing terms indicated by the AM." There are technical dimensions to expressing and conveying claims, but since UMA strives to provide enforceability of resource-access agreements, there may also be legal dimensions.

...

Where the primary resource user and the authoring user differ, there is likely to be an interaction (invisible to UMA) at the host service that allows (or forces) the primary resource user to designate an authorizing user, and an agreement that the authorizing user acts as the primary resource user's agent or guardian or similar.

References

Anchor
RFC2119
RFC2119
[RFC2119]
http://www.ietf.org/rfc/rfc2119.txt

Anchor
HTTPHTTP
[HTTP]
Fielding, Gettys, Mogul, Frystyk, Masinter, Leach, Berners-Lee, "Hypertext Transfer Protocol
WRAP
WRAP
[WRAP]
http://tools.ietf.org/html/draft-hardt-oauth-01

Anchor
hostmeta
hostmeta
[hostmeta]
http://tools.ietf.org/html/draft-hammer-hostmeta

Anchor
IDCclaim
IDCclaim
[IDCclaim]
http://wiki.idcommons.net/Claim