Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Org.eclipse.higgins.icard"

Line 1: Line 1:
 +
This page describes the I-Card interface that all types of Higgins-compatible I-Cards must implement. It also describes other interfaces that implementers may choose to implement.
 +
 +
==I-Card Interface===
 +
 
  // Return the human friendly name of the card
 
  // Return the human friendly name of the card
  String getCardName()
+
  String getCardName();
 +
 +
URI getUUID();
 
   
 
   
 
  // Return the human friendly name of the card issuer (creator)
 
  // Return the human friendly name of the card issuer (creator)
  String getIssuerName()
+
  String getIssuerName();
+
// Return the EPR of the card issuer
+
// For CardSpace cards this is either the local STS endpoint (for
+
// self-asserted cards) or a remote STS (for managed cards)
+
// For some other kinds of cards this is might be an IdAS service endpoint
+
EndpointReference getICardIssuerEndpoint()
+
 
   
 
   
 
  // Return a background image of the card
 
  // Return a background image of the card
  Image getCardImage()
+
  Image getCardImage();
 
    
 
    
 
  // Return the mime type of the background image (JPEG or GIF)
 
  // Return the mime type of the background image (JPEG or GIF)
  String getImageMimeType()
+
  String getImageMimeType();
 
   
 
   
 
  // Return when the card was first issued
 
  // Return when the card was first issued
  Datetime getTimeIssued()
+
  Datetime getTimeIssued();
 
   
 
   
 
  // Return the date and time after which the card should be  
 
  // Return the date and time after which the card should be  
Line 25: Line 25:
 
  // return a list of all possible types of claims that are supported
 
  // return a list of all possible types of claims that are supported
 
  // throw exception otherwise
 
  // throw exception otherwise
  Iterable<String> getSupportedSimpleClaimTypes()
+
  Iterable<String> getSupportedSimpleClaimTypes();
 
   
 
   
 
  // If card handles complex claim types then
 
  // If card handles complex claim types then
 
  // return an OWL-DL schema describing types of complex claim  
 
  // return an OWL-DL schema describing types of complex claim  
 
  // objects that are supported
 
  // objects that are supported
  String getSupportedComplexClaimTypes()
+
  String getSupportedComplexClaimTypes();
 
   
 
   
 
  // Given a relying party policy ''Policy'', return true
 
  // Given a relying party policy ''Policy'', return true
 
  // if this card can provide the claims required/desired by the relying party
 
  // if this card can provide the claims required/desired by the relying party
 
  // else return false
 
  // else return false
  boolean isMatch(Policy)
+
  boolean isMatch(Policy);
+
// Cards can be requested to produce on demand one of three
+
// kinds of things:
+
//  (1) a [[Digital Identity]] token
+
//  (2) a URL (e.g. to an RSS feed)
+
//  (3) an object (catchall)
+
// Return the type of returned object
+
enumeration getRequestedObjectType()
+
+
// If card is of type (1) then return a [[Digital Identity]]
+
// that satisfies the policy ''policy''
+
// The ''credential'' parameter used to authenticate to the
+
// Token Issuer–-may be null if Token Issuer policy doesn’t require it
+
DigitalIdentity requestDigitalIdentity(Policy policy, DigitalIdentity credential)
+
+
// If card is of type (2) then return a URL
+
// that satisfies the policy ''policy''
+
URL requestURL(Policy policy)
+
+
// If card is of type (3) then return an object
+
// that satisfies the policy ''policy''
+
Object requestObject(Policy policy)
+
 
   
 
   
 
  // Return whether the user wishes to be asked for explicit release of
 
  // Return whether the user wishes to be asked for explicit release of
 
  // this card's information (i) every time it is requested (ii) only  
 
  // this card's information (i) every time it is requested (ii) only  
 
  // the first time it is requested (iii) never  
 
  // the first time it is requested (iii) never  
  ReleasePolicy getReleasePolicy()
+
  ReleasePolicy getReleasePolicy();
 
   
 
   
 
  // Set the release policy of this card
 
  // Set the release policy of this card
  void setReleasePolicy(ReleasePolicy)
+
  void setReleasePolicy(ReleasePolicy);
 +
 +
// Return a list of the types of expored card data stream formats supported
 +
// ?? presumably a CardFormat also mentions XML language and/or version number
 +
<Iterable>CardFormat getSupportedExportFormats();
  
 
  // Return a data stream containing a serialization of the card
 
  // Return a data stream containing a serialization of the card
 
  // The format depends on the kind of card  
 
  // The format depends on the kind of card  
 
  // E.g. CardSpace I-Cards will export CardSpace format data
 
  // E.g. CardSpace I-Cards will export CardSpace format data
  String export()
+
  String export(CardFormat format);
  
====Misc Notes====
+
===To Do===
The following are methods that we're still mulling over...
+
  
* String getUUID()
+
* Need methods to get/set the access control list idea (see [[I-Card]])
* String getVersion()
+
* getPolicy() – list of supported token types, supported claims
+
  
// Return a list of endpoint references, credential hint, credential selector
+
==TokenIssuerCard Interface==
Iterable<TokenService> getTokenServices()
+
 +
// Return the EPR of the card issuer
 +
// For CardSpace cards this is either the local STS endpoint (for
 +
// self-asserted cards) or a remote STS (for managed cards)
 +
// For some other kinds of cards this is might be an IdAS service endpoint
 +
EndpointReference getICardIssuerEndpoint();
  
// Is the RP identity required in the token request message?
+
// If card is of type (1) then return a [[Digital Identity]]
boolean getRequireAppliesTo()
+
// that satisfies the policy ''policy''
 +
// The ''credential'' parameter used to authenticate to the  
 +
// Token Issuer–-may be null if Token Issuer policy doesn’t require it
 +
DigitalIdentity requestDigitalIdentity(Policy policy, DigitalIdentity credential);
  
* Need methods to get/set the access control list idea (see [[I-Card]])
+
// Return a list of endpoint references, credential hint, credential selector
 +
Iterable<TokenService> getTokenServices()
 +
 +
// Return a list of supported token types
 +
?? getPolicy?? ();
 +
 
 +
// Is the RP identity required in the token request message?
 +
boolean getRequireAppliesTo()
 +
 
 +
==URLIssuerCard Interface==
 +
 +
// Return a URL
 +
// that satisfies the policy ''policy''
 +
URL requestURL(Policy policy);
 +
 
 +
==IdASProvider==
 +
 
 +
  ContextRef getContextRef();
  
 
==See Also==
 
==See Also==

Revision as of 13:07, 28 October 2006

This page describes the I-Card interface that all types of Higgins-compatible I-Cards must implement. It also describes other interfaces that implementers may choose to implement.

I-Card Interface=

// Return the human friendly name of the card
String getCardName();

URI getUUID();

// Return the human friendly name of the card issuer (creator)
String getIssuerName();

// Return a background image of the card
Image getCardImage();
 
// Return the mime type of the background image (JPEG or GIF)
String getImageMimeType();

// Return when the card was first issued
Datetime getTimeIssued();

// Return the date and time after which the card should be 
// treated as expired and invalid. If there is no expiration 
// If card handles only simple claim types then 
// return a list of all possible types of claims that are supported
// throw exception otherwise
Iterable<String> getSupportedSimpleClaimTypes();

// If card handles complex claim types then
// return an OWL-DL schema describing types of complex claim 
// objects that are supported
String getSupportedComplexClaimTypes();

// Given a relying party policy Policy, return true
// if this card can provide the claims required/desired by the relying party
// else return false
boolean isMatch(Policy);

// Return whether the user wishes to be asked for explicit release of
// this card's information (i) every time it is requested (ii) only 
// the first time it is requested (iii) never 
ReleasePolicy getReleasePolicy();

// Set the release policy of this card
void setReleasePolicy(ReleasePolicy);

// Return a list of the types of expored card data stream formats supported
// ?? presumably a CardFormat also mentions XML language and/or version number
<Iterable>CardFormat getSupportedExportFormats();
// Return a data stream containing a serialization of the card
// The format depends on the kind of card 
// E.g. CardSpace I-Cards will export CardSpace format data
String export(CardFormat format);

To Do

  • Need methods to get/set the access control list idea (see I-Card)

TokenIssuerCard Interface

// Return the EPR of the card issuer
// For CardSpace cards this is either the local STS endpoint (for
// self-asserted cards) or a remote STS (for managed cards)
// For some other kinds of cards this is might be an IdAS service endpoint
EndpointReference getICardIssuerEndpoint();
// If card is of type (1) then return a Digital Identity 
// that satisfies the policy policy
// The credential parameter used to authenticate to the 
// Token Issuer–-may be null if Token Issuer policy doesn’t require it
DigitalIdentity requestDigitalIdentity(Policy policy, DigitalIdentity credential);
// Return a list of endpoint references, credential hint, credential selector
Iterable<TokenService> getTokenServices()

// Return a list of supported token types
?? getPolicy?? (); 
// Is the RP identity required in the token request message?
boolean getRequireAppliesTo()

URLIssuerCard Interface

// Return a URL
// that satisfies the policy policy
URL requestURL(Policy policy);

IdASProvider

 ContextRef getContextRef();

See Also

Back to the top