390 likes | 523 Views
Diagram Conventions 1.1. Key. Web Service. Package. Component. Plugin. Sub-component. Non-Higgins Component. Remote. Local Different Process. Local Same Process. Solutions. Higgins Active Client (Selector). 1.1 Master Selector Architecture. Relying Party Website. Browser. HBX.
E N D
Diagram Conventions 1.1 Key Web Service Package Component Plugin Sub-component Non-Higgins Component Remote Local Different Process Local Same Process
Solutions Higgins Active Client (Selector)
1.1 Master Selector Architecture Relying Party Website Browser HBX Local Application Higgins Selector Switch AIR Selector UI GTK Selector UI Cocoa Selector UI LICS Cloud Selector ICS WebApp CardSync ICS IDS CP CP CP CP 1.1.104
AIR Selector 1.1 SOLUTION Browser (IE6+ or Firefox2+) Client Application HSS Manager HSS Launcher HBX Higgins Selector Switch (HSS) AIR Selector I-Card Service V1.1.123 Target Platforms for client portion: Windows, Mac OSX
Selector Client-side Architecture 1.1 Internet Explorer Firefox HSS Manager HSS Launcher Higgins Browser Extension IE MIME-type Handler Higgins Browser Extension Firefox Addon Higgins Selector Switch (HSS) AIR Selector 1.1-Win AIR Selector 1.1-Mac Microsoft CardSpace OpenInfoCard V1.1.109
iPhone Selector 1.1 MobileSafari Browser MobileSafari Browser iPhone I-Card Selector iPhone I-Card Plugin I-Card Service I-Card Service V1.1.103
Android Selector 1.1 Proxy Server PWM JS PWM NPAPI I-Card Service Proxy I-Card Service V1.1.100
Solutions Personal Data Store
Cloud Selector 1.1 Browser Cloud Selector I-Card Service V1.1.106
IdAS Proxy IdAS Proxy Service IdAS Proxy (.idas.proxy) To IdAS Package To Attribute Service V1.1.103
Attribute Service Attribute Service Attribute Service (.as) IdAS Package V1.1.102
CardSync Service 2.0 ? CardSync Service Endpoint CardSync Web App Package RPPS IdAS Package Utility V2.0.100 1.1.108
Solutions Identity Services
STS Server Package STS Server STS Mapping Extension org.eclipse.higgins.sts.server.mapper.appliesto STS Token Extension org.eclipse.higgins.sts.server.token.handler STS Mapping Extension org.eclipse.higgins.sts.server.mapper.extension STS Token Extension org.eclipse.higgins.sts.server.token.self STS Mapping Extension org.eclipse.higgins.sts.server.mapper.polling STS Token Extension org.eclipse.higgins.sts.server.token.encrypt STS Token Extension org.eclipse.higgins.sts.server.token.identity STS Base64 Extension STS Token Extension org.eclipse.higgins.sts.server.token.compound STS Binding STS Token Extension org.eclipse.higgins.sts.server.token.saml STS XML Security Extension STS Common V1.1.100
Local I-Card Service Package To GTK or Cocoa Selector UI LICS (.iss) Synchronizing Card Store (now within.iss) File System Card Store (now within .iss) Local STS (now within .iss) To External STS To CardSync Service ISAM DB Flexible Toolkit (.ftk) [used by all of the above components] V1.1.141
IdAS Client Package To LICS extension ?? To LICS extension ?? IdAS Client (.idas.client) To IdAS Proxy Service IdAS API (.idas.api) IdAS XDI Context Provider (.idas.cp.xdi) To Attribute Service V1.1.100
RPPS Package RPPS User Profile I-Card Registry I-Card Selector Service User Profile Provider org.eclipse.higgins.userprofile.idas Local STS To Remote STS To Cache Service (in Utility Package) To IdAS Package To IdAS Package V1.1.106
IdAS 1.1 Package UDI Resolver (.idas.udi) IdAS Common (.idas.common) IdAS Registry (.idas.registry) IdAS API (.idas.api) IdAS SPI (.idas.spi) Hibernate CP (.idas.cp.hb) Data Source (e.g. Database, Directory) V1.1.101
IdAS 1.1 Package (in general) To IdAS consumer To IdAS consumer To IdAS consumer To IdAS consumer UDI Resolver (.idas.udi) IdAS Common (.idas.common) IdAS Registry (.idas.registry) IdAS API (.idas.api) IdAS SPI (.idas.spi) IdAS SPI (.idas.spi) IdAS Context Provider (idas.cp.*) IdAS Context Provider (.idas.cp.*) To local data source (e.g. XML File, DB) To remote data source (e.g. LDAP server, XDI server) V1.1.102
I-Card Selection Service Package I-Card Selector Service (ISS) org.eclipse.higgins.iss CardSpace ISS Provider org.eclipse.higgins.iss.cardspace To I-Card Registry Package STS Client Local Binding Remote Binding To STS Package To Remote STS V1.1.121
I-Card Registry Package I-Card Registry CardSpace Personal Provider icard.provider.cardspace.personal.db CardSpace Managed Provider icard.provider.cardspace.managed.db JDBC JDBC I-Card Store I-Card Store Cache Service (in the Utility Package) Cache Service (in the Utility Package) V1.1.112
Utility 1.1 Package Cache Service Util IdAS CP Cache Provider Util JScript Configuration Util SAML org.eclipse.higgins.util.saml Configuration Handler org.eclipse.higgins.configuration.xml Util Socket org.eclipse.higgins.util.socket Registry org.eclipse.higgins.registry V1.1.103
Packages & Components Higgins Selector Switch The diagrams in this section need to be combed through and updated. Also, they don’t follow the latest diagramming conventions
Browser communications (Windows) [simplified] Internet Explorer Firefox MIME-type handler (hbxie.dll) Add-on (hbx) Socket communication Socket communication Selector Switch (higgins-ss.dll) Connector Connector Connector Connector Socket communication Dynamic Linking Socket communication ?? AIR Selector CardSpace Higgins RCP Selector Other Selector v3
Higgins 1.1: Selector Switch (platform/browser independent) Selector Manager App Installer Browser Local App Key Browser <object> tag Extension Additional Browser Extension Higgins Component Non-Higgins Component Higgins Selector Switch Connector Connector Connector Connector Plug-in (Provider) Remote Local Higgins Web-based Selector (AIR) Higgins Eclipse-based Selector Higgins Client-based Selector CardSpace™ Selector Local TCP Local or Remote v4
Higgins: 1.1 Selector Switch for IE/Windows Windows Control Panel app (hss.cpl) Higgins Installer for Windows Internet Explorer 7 Local App Key HBX for IE (hbxie.dll) Higgins Browser Helper for IE (hbhie.dll) Higgins Component Non-Higgins Component Higgins Selector Switch (hss.dll) Connector Connector Connector Connector Plug-in (Provider) Remote Local Higgins Web-based Selector (AIR) Higgins Eclipse-based Selector Higgins Client-based Selector CardSpace™ Selector Local TCP Local or Remote v3
HBX + Selector Switch for IE/Windows v10 This installs: all Higgins Selector Switch components AND one of the three Higgins selectors Calls higgins-ss.dll to display Selector Switch UI Windows Control Panel app (hss.cpl) Higgins Installer for Windows • Handles application/x-informationCard • Calls Selector Switch: getDigitalIdentity • Replaces IE’s existing handler Internet Explorer 7 Local App HBX for IE (hbxie.dll - activex Mime type handler) Higgins Browser Helper for IE [planned] (hbhie.dll) • One or more additional helper objects provides these functions (relying on higgins-ss.dll API to access required IAS services): • Installs a mouse button that launches the default Selector • Address bar character handler (for XRI support) • HTML auth support • Form fill support • Screen scrape support (maybe) Higgins Selector Switch (higgins-ss.dll) • Provides a common API to Identity Selectors • Provides UI to change default selector • Exposes “higgins-ss.dll” API • Selector launcher: Incorporates either TCP Socket Server or invokes a selector-specific launch DLL using a connector Connector (s) CardSpace™ Higgins Client-based Higgins Eclipse-based Higgins Web-based Identity Selector I-Card Selector (in AIR) Local computer/device Remote/hosted (some selectors) Selector specific connector to plugin selector to higgins-ss.dll I-Card Mgr Higgins Web-based Selector includes a hosted I-Card Manager component and a hosted Selector Service. Selector Service
Browser communications (Windows) Internet Explorer 7 Firefox MIME-type handler (hbxie.dll) Add-on (hbx) Socket communication Socket communication Selector Switch (higgins-ss.dll) TCP Server Selector switcher Connector Connector Connector Connector Socket communication Dynamic Linking Socket communication ?? AIR Selector CardSpace Higgins RCP Selector Other Selector v2
Selector Switch System Core Windows Service (higgins-ss-service.exe) Start TCP Server Selector Switch (higgins-ss.dll) Get/Set configuration Windows Control Panel Application (hss.cpl) Switcher UI
Architecture of process boundry communications between AIR Support modules Internet Explorer 7 Entry point 1 Dynamic Linking Invoke (Create Process) Pipe communication Invoke (Create Process) Socket Communication MIME-type handler (hbxie.dll) Connector for AIR (Air.exe) Connector for AIR (CardSelector.exe) Socket Communication Socket Communication Selector Switch (TCP Server, Pipe comm, Switcher) (higgins-ss.dll) Connector for Higgins RCP (HigginsRCP.exe) Higgins RCP Selector (eclipse.exe) Dynamic Linking Dynamic Linking (Start TCP Server) Dynamic Linking Connector for CardSpace (CardSpace.exe) CardSpace (infocardapi.dll) Read/Write Control Panel App (hss.cpl) Configuration (conf.xml) Host process (ss-runner.exe) Invoke (Create Process) (Using permissions of current user) Start ss-runner and restart it (if error was occurred) Windows Service (higgins-ss-service.exe) Entry point 2 Entry point 3 (Started by OS as local service) Registration of connectors. Save configuration about itself (during installation or by user manually)
Model of message exchanges in AIR Support 1. User clicked on log-in button Entry point 1 Internet Explorer 7 Selector 16. Submit 2. Get necessary data from browser and preparing «xml request» MIME-type handler (hbxie.dll) 11. Set necessary data from «xml request» 15. Return Token through socket 7. Set connector filename and path to selector (optional) 3. Send «xml request» through socket 8. Invoke Connector with args (filename and path) 10. Invoke Selector Selector Switch higgins-ss.dll 13. Return Token (use I/O stream redirecting - pipes) 14. Return Token Connector TCP Server PipeSrv Entry point 2 6. Return configuration of def sel 12. Return Token 9. Send «xml request» (use I/O stream redirecting - pipes) 4. getDefaultSelectorConfig() 4. Return list of selectors 1. User opened app 3. Check Selectors (find new and remove deleted) Switcher Core 2. Check Selectors 3. Run TCP Server Control panel app (hss.cpl) 1. Start of higgins-service Host process (ss-runner.exe) Windows Service (higgins-ss-service.exe) 2. getAvalSelectors() 5. setDefaultSelector() (if user changed) - Actions connected with «Entry point 1» Blue 3.1 (6). Read configuration or write (if found new selector or remove selector) Entry point 3 (Started by OS) - Actions connected with «Entry point 2» Red 5. Read configuration - Actions connected with «Entry point 3» Turquoise (not used yet) 3.2 Read Other system storages of data (Linux, Mac) - Actions connected with installing of connector conf.xml (information about all installed connectors and selectors) Registry (Windows) Violet 1. Installing of connector (set data about connector)
The subset of the RPPS Package that persists the user’s data RPPS User Profile I-Card Registry I-Card Selector Service User Profile Provider org.eclipse.higgins.userprofile.idas Local STS Remote STS Identity Attribute Service (IdAS) Hibernate Context Provider org.eclipse.higgins.idas.cp.hb Data Source (e.g. Database, Directory) V1.1.101
Password CardsPassword Manager enhancement to HBX (H1.1) Internet Explorer Firefox Higgins Browser Extension IE MIME-type Handler PWMgr Enhancement Higgins Browser Extension Firefox Addon PWMgr Enhancement Higgins Selector Switch (HSS) V1.1.104 Target Platforms: Windows, Mac OSX, Linux
Solutions Deployment Identity Providers Web apps Web 2.0 and Enterprise Apps Personal Data Services Data Contexts Banking Site Social Network Site RDF Semantic Web Repository OpenID Provider Higgins I-Card Service RDF Data Source LDAP Directory eCommerce or Community Site SAML Enterprise Directory Social Network Site Identity Attribute Service STS IdP RP LDAP Server Linked Data Server OpenSocial SAML2 IdP IdAS Client XDI Service LDAP STS IdP RP Linked Data Linked Data Linked Data LDAP RDF IdAS RDF Internet CP Social Networks Social Networks CP IdAS Client IdAS Client Open Social Key: Other Local Apps & Bots Key: Browser Higgins Identity Selector Local App XDI4J IdAS Client Enterprise Directories Enterprise Directories Enterprise Directories Other… Selector Switch Selector Switch Higgins Extension Extension Browser Computer or mobile device Higgins 1.0 Higgins X.X 3rd Party
Higgins Framework Identity Selectors Identity Selectors Identity Providers Relying Parties Identity Selectors Identity Providers Relying Parties Apps and Services (Higgins & third-party) Identity Providers Identity Selectors Relying Parties Cards, Tokens and Protocols Framework “Upper” Higgins Framework Plug-ins Protocol Provider-Plugins Implement RP protocols CardSpace OpenID I-Card Provider-Plugins Implement card types Managed Personal Relationship Token Provider-Plugins Implement security tokens SAML UN/PW Kerberos X509 Idemix “Lower” Higgins Framework Identity Attribute Serviee and the Context Data Model Plug-ins IdAS Context Providers-Plugins Connect to existing data sources LDAP XML File RDF Open Social Others…
Context Data Model Specifications Identifiers (UDIS) Discovery (UDI Resolution) Ontology (HOWL) UDI (Universal Data Identifier) Higgins XRDS Service Endpoints Higgins Context Descriptors [Planned] Higgins Ontology Language (HOWL) OpenID Cool URIs XRI XRI XDI WS-Addressing RDFS / OWL Key: W3C OASIS De facto v10
Higgins Builds Eclipse-Higgins SVN Azigo SVN 10% 90% Azigo build service & non-Eclipse redistributable 3rd party libraries Eclipse-Higgins build service Azigo download site Eclipse download site Links to Links to Higgins download page V1.1.100