Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Org.eclipse.higgins.icard"
(→URLIssuerCard Interface) |
|||
Line 120: | Line 120: | ||
String getIssuedTokenIssuer(); | String getIssuedTokenIssuer(); | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==IdASCard== | ==IdASCard== |
Revision as of 16:05, 15 November 2006
This page describes the one mandatory I-Card interface that all types of Higgins-compatible I-Cards must implement, as well as these optional interfaces:
- TokenIssuerCard
- URLIssuerCard
- IdASCard
- HTMLCard
I-Card Interface
All I-Cards implement the I-Card Interface:
// Return the human friendly name of the card String getCardName(); // Set the human friendly name of the card void setCardName(String); // Return true if this card only manages information about a // exactly one Digital Subject boolean isSingle(); // Set whether or not this card is a single (else multiple) // subject card void setSingle(boolean flag); // Returns if 'isSingle()' is true, an optional contextually-unique identifier for the Digital Subject // Otherwise return null. String getCUID(); // ??? URI getUUID(); // Returns the human friendly name of the card issuer, originator, creator String getIssuerName(); // Sets the card's human friendly name of the card issuer, originator, creator void setIssuerName(String name); // Returns a background image of the card Image getCardImage(); // Sets the background image of the card void setCardImage(Image image); // Return the mime type of the background image (JPEG or GIF) String getImageMimeType(); // Returns when the card was first issued, created, orginated Date getTimeIssued(); // Returns (optionally) the time after which the card should // be considered expired, invalid. Otherwise returns null Date getExpiredTime(); // Set the expiration date and time void setExpiredTime(Date date); // 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 a data structure containing nested lists of claim types and // string values (this needs work!) TBD 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
Some types of I-Cards may implement this interface.
// 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 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) EndpointReference getCardIssuerEndpoint(); // 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() // Returns the issuer that is referenced in the returned RSTR (or null if no issuer is listed) String getIssuedTokenIssuer();
IdASCard
Some types of I-Cards may implement this interface. If ICard.isSingle() is true, then implementation can invoke ICard.getCUID() to retreive the CUID of the Digital Subject with the Context returned by IdASCard.getContextRef() below.
// Return the EPR of the IdAS service this card uses EndpointReference getIdASEndpoint(); // Return the IdAS Context reference ContextRef getContextRef();
- Need method to get the IdAS endpoint ref and related credentials
HTMLCard
Some I-Cards may choose to implement this interface.
// Returns the specific site URL to which this card applies // Note: unlike most other kinds of I-Cards, but HTML cards are // relying site specific URI getSiteURL(); // Set the site URL void setSiteURL(URI site); // Returns the site-specific HBX HTML screen scraping and/or form // filling scripts that are used to scrape and/or fill the site HTML String getScript(); // Set the site script void setScript(String script);